Exemplo n.º 1
0
        //const UInt16 SeqNoBeginByte = 8;
        public void SendMessage <T>(T msgStructure)
        {
            byte[] bytPacketDatas;
            byte[] bytSendMsgDatas;
            //byte[] bytSeqNoDatas;
            //bytSeqNoDatas = BitConverter.GetBytes(getSendSeqNum());
            bytPacketDatas  = TCPUtility._Str2Packet(msgStructure);
            bytSendMsgDatas = TCPUtility.PrcCreateSendMessage_New(bytPacketDatas);

            LogCollection.TrxMsgInfo(TCPUtility.toStuctureString(msgStructure, Name, true));
            Console.WriteLine("Send Data:{0}", TCPUtility.PrcConvBytes2HexStr(bytSendMsgDatas, bytSendMsgDatas.Length, " "));

            //Array.Copy(bytSeqNoDatas, 0, bytSendMsgDatas, SeqNoBeginByte, bytSeqNoDatas.Length);
            Task taskSendMsg = null;

            switch (ConnectMode)
            {
            case TCPIP_AGENT_COMM_MODE.SERVER_MODE:
                taskSendMsg = session.SendAsync(bytSendMsgDatas);
                break;

            case TCPIP_AGENT_COMM_MODE.CLINET_MODE:
                taskSendMsg = ClientSession.SendAsync(bytSendMsgDatas);
                break;
            }
            taskSendMsg.Wait();
        }
Exemplo n.º 2
0
        public void DecodReciveRawData(byte[] raw_data)
        {
            byte[] bytPacketDatas = null;
            int    data_coune     = raw_data.Length;
            int    PacketID       = 0;
            UInt16 SeqNum         = 0;
            object objPacket      = null;

            //while (data_coune >= LEN_MESSAGE_SIZE)
            //{
            string result = TCPUtility.PrcConvBytes2HexStr(raw_data, raw_data.Length, " ");

            Console.WriteLine(reciveCount++);
            Console.WriteLine(result);

            // Check Message Header
            if ((raw_data[0] == '@') && (raw_data[1] == 'P') &&
                (raw_data[2] == 'K') && (raw_data[3] == 'T'))
            {
                //bytPacketDatas = TCPUtility.PrcGetPacketFromMessage(raw_data);
                bytPacketDatas = TCPUtility.PrcGetPacketFromMessage_New(raw_data);
                PacketID       = TCPUtility.PrcGetPacketID(bytPacketDatas);
                SeqNum         = TCPUtility.PrcGetPacketSeqNum(bytPacketDatas);
                objPacket      = bytPacketDatas;
                TcpIpEventArgs arg = new TcpIpEventArgs(PacketID, SeqNum, objPacket);
                onTcpIpReceive(PacketID, arg);
                dataSeqNoOrderToComfirm(PacketID, SeqNum);
            }
            //data_coune -= LEN_MESSAGE_SIZE;
            //Array.Copy(raw_data, LEN_MESSAGE_SIZE, raw_data, 0, data_coune);
            //}
        }
Exemplo n.º 3
0
        public void DecodReciveRawData_Google(byte[] raw_data)
        {
            byte[] bytPacketDatas = raw_data;
            UInt16 PacketID       = 0;
            UInt16 SeqNum         = 0;
            object objPacket      = null;

            string result = TCPUtility.PrcConvBytes2HexStr(bytPacketDatas, bytPacketDatas.Length, " ");

            Console.WriteLine(reciveCount++);
            Console.WriteLine(result);

            unPackWrapperMsg(bytPacketDatas, out PacketID, out SeqNum, out objPacket);

            TcpIpEventArgs arg = new TcpIpEventArgs(PacketID, SeqNum, objPacket);

            onTcpIpReceive(PacketID, arg);
            dataSeqNoOrderToComfirm(PacketID, SeqNum);
        }