예제 #1
0
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;
}
예제 #2
0
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);
}
예제 #3
0
파일: monitor.cpp 프로젝트: lctagnes/gitpro
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 *)));




}
예제 #4
0
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("Ошибка при получении списка матриц.");
    }
}