コード例 #1
0
ファイル: tcpclient.cpp プロジェクト: lsoftp/czzd
int TcpClient::start()
{
    int ret = pthread_create(&sendRecvHandler, NULL, TcpClient::sendRecvMsg, this);
    if(ret != 0)
    {
        return ret;
    }
    ret = pthread_create(&recvHandler, NULL, TcpClient::recvMsg, this);
    if(ret != 0)
    {
        return ret;
    }
    unsigned char s[6] = {0x01,0x39,0x34,0x34,0x36,0x44};
    unsigned char ori[1024];
    PositionReport pr;
    setTime(pr.time);
    pr.header.msgId = 0x0200;
    pr.header.property = 28;
    pr.header.msgSerialNumber =222;
    memcpy(pr.header.phoneNumber ,s ,6);
    pr.speed = 18;
    pr.latitude =333000;
    pr.longitude = 567890;
    pr.altitude = 300;
    pr.direction=256;
    pr.status =0x7897;
    pr.warningMark =0;
    Msg msg;

	Register r;
	r.header.msgId = 0x0100;
	r.header.property = 31;
	r.header.msgSerialNumber =333;
	memcpy(r.header.phoneNumber ,s ,6);
	r.plateNumber="abcde";

	int len;

	len = r.toStream(ori);


	len = addCheckCode(ori,len);

	toComposedMsg(ori,len, msg.stream, &(msg.len));
	msg.resendTimes=0;
	msg.msgSerialNumber = r.header.msgSerialNumber;
	msg.sendChars = 0;
	msg.complete = false;
	pthread_mutex_lock(&mutex);
	msgList.push_front(msg);
	pthread_mutex_unlock(&mutex);
	len=pr.toStream(ori);
	len = addCheckCode(ori,len);
	toComposedMsg(ori,len,msg.stream, &(msg.len));
	msg.msgSerialNumber = pr.header.msgSerialNumber;
	pthread_mutex_lock(&mutex);
	msgList.push_front(msg);
	pthread_mutex_unlock(&mutex);

	return 0;

}