void MMatchClient::CastStageBridgePeer(const MUID& uidChar, const MUID& uidStage) { MCommand* pCmd = new MCommand(m_CommandManager.GetCommandDescByID(MC_MATCH_BRIDGEPEER), GetServerUID(), m_This); pCmd->AddParameter(new MCommandParameterUID(uidChar)); pCmd->AddParameter(new MCommandParameterUInt(0)); // 수신측에서 IP로 치환됨 pCmd->AddParameter(new MCommandParameterUInt(0)); // 수신측에서 Port로 치환됨 MSafeUDP* pSafeUDP = GetSafeUDP(); SendCommandByUDP(pCmd, GetServerIP(), GetServerPeerPort()); delete pCmd; }
void __fastcall TMainForm::ToolButton3Click(TObject *Sender) { String FileName = "ExpMtr\\mtr.xml"; TSendThread *Client; int mr, r, cnt; String err; MSG msg; if ((err = cVerifData()) != "") { ShowMessage(err); return; } LoginForm->UserEdit->Text = /*"sc910001" + */"sc" + IntToStr(School.SchoolCode); LoginForm->PasswordEdit->Text = "jXCHJQQo"; Client = new TSendThread(true); if (LoginForm->ShowModal() != mrOk) return; Client->idVisor = idVisor; Client->User = LoginForm->UserEdit->Text; Client->Password = LoginForm->PasswordEdit->Text; Client->ms = new TMemoryStream; SaveXMLToStream(Client->ms); Client->CommandID = "3"; Client->srv = GetServerIP(); Client->FreeOnTerminate = true; SendForm->Show(); SendForm->Memo1->Lines->Append("Соединение с сервером."); while (PeekMessage(&msg, this->Handle, WM_USER, THRD_END, PM_REMOVE)); //инициализация и отчистка очереди Client->Resume(); GetMessageA(&msg, 0, THRD_READY, THRD_READY); while (!PeekMessageA(&msg, 0, THRD_END, THRD_END, PM_NOREMOVE)) { Application->ProcessMessages(); WaitMessage(); } PostThreadMessageA(0, MAIN_READY, 0, 0); ShowMessage(ThreadMsg); }
CMonitor::CMonitor(QObject *parent) : QObject(parent) { CLOG::Log("Application start ."); // QString strSub = "Door opened . \r\n"; // SendGSM(strSub); m_nGSMTimerID = startTimer(m_cfgFile.m_nSendGSM_TIME *60* 1000); //60 * 1000 ms m_pThread = new CUartThread; m_wpThread = new WriteThread; m_nLCDLast = 0; m_bConnected1 = false; m_bConnected2 = false; //GetLocalIP(); char * strDev = "/home/kason/mygit/gitpro/test_first/ttyS1"; int nBaud = m_cfgFile.m_nBaud; char * wstrDev = "/home/kason/mygit/gitpro/test_first/ttyS2"; int wBaud = m_cfgFile.w_nBaud; int nFD = m_pThread->Initial(strDev); int wFD = m_wpThread->Initial(wstrDev); connect(m_pThread, SIGNAL(sSerialData(char *)), this, SLOT(SerialDataSlot(char *))); connect(this, SIGNAL(writeSerial(struCseSensor *)), m_wpThread, SLOT(writeSerialSlot(struCseSensor *))); if(nFD>0) { printf("Open Serial Port Success .\r\n"); CLOG::Log("Open Serial Port Success ."); // start recv thread m_pThread->Start(); m_nTimerID = startTimer(m_cfgFile.m_nSampTime * 1000); wTimerID = startTimer(m_cfgFile.m_nSampTime * 1500); } // if(-1 == nFD) // { // printf("Open Serial Port Failed , Exit .\r\n"); // CLOG::Log("Open Serial Port Failed , Exit ."); // exit(0); // } else { printf("Set Serial Port Failed , Exit .\r\n"); CLOG::Log("Set Serial Port Failed , Exit ."); // exit(0); } if(wFD>0) { printf("Open Serial Port w Success .\r\n"); CLOG::Log("Open Serial Port w Success ."); // start recv thread m_wpThread->start(); } // if(-1 == nFD) // { // printf("Open Serial Port w Failed , Exit .\r\n"); // CLOG::Log("Open Serial Port w Failed , Exit ."); // exit(0); // } else { printf("Set Serial Port w Failed , Exit .\r\n"); CLOG::Log("Set Serial Port w Failed , Exit ."); // exit(0); } m_pTcpClient1 = new CTCPClient; m_pTcpClient2 = new CTCPClient; m_nTcpTimerID = startTimer(60*30* 1000); m_pTcpClient1->ConnectToServer1(m_cfgFile.m_strIP, m_cfgFile.m_nPort); connect(m_pTcpClient1, SIGNAL(sConnected()), this, SLOT(GetServerIP())); connect(m_pTcpClient2, SIGNAL(sConnected()), this, SLOT(ConnectedSlot())); // initial all connect //connect(m_pThread, SIGNAL(sSerialData(char *)), this, SLOT(SerialDataSlot(char *))); }
void __fastcall TMainForm::ToolButton6Click(TObject *Sender) { String FileName = "ExpMtr\\mtr.xml"; TStringList *list = new TStringList; TSendThread *Client; int mr; String err, s; char c[512]; MSG msg; if ((err = cVerifData()) != "") { ShowMessage(err); return; } LoginForm->UserEdit->Text = /*"sc910001" + */"sc" + IntToStr(School.SchoolCode); LoginForm->PasswordEdit->Text = "jXCHJQQo"; Client = new TSendThread(true); if (LoginForm->ShowModal() != mrOk) return; Client->User = LoginForm->UserEdit->Text; Client->Password = LoginForm->PasswordEdit->Text; Client->ms = new TMemoryStream; s = "SchoolCode=" + Client->User.SubString(3, 6); Client->ms->Write(s.c_str(), 512); // Client->ms->Write('\0', 1); Client->CommandID = "4"; Client->srv = GetServerIP(); Client->FreeOnTerminate = true; SendForm->Show(); SendForm->Memo1->Lines->Append("Соединение с сервером..."); while (PeekMessage(&msg, this->Handle, WM_USER, THRD_END, PM_REMOVE)); //инициализация и отчистка очереди Client->Resume(); GetMessageA(&msg, 0, THRD_READY, THRD_READY); while (!PeekMessageA(&msg, 0, THRD_END, THRD_END, PM_NOREMOVE)) { Application->ProcessMessages(); WaitMessage(); } if (!PostThreadMessageA(Client->ThreadID, MAIN_READY, 0, 0)) { Client->Suspend(); Client->Terminate(); ShowMessage("Непредвиденная ошибка при попытке отправить сообщение окну."); } if (msg.wParam) ShowMessage("WParam=" + IntToStr(msg.wParam)); if (msg.lParam) { SendForm->Close(); FillServerMatrixForm(ReceiveStream); ServerMatrixForm->Show(); } else { ShowMessage("Ошибка при получении списка матриц."); } }