Пример #1
0
        public static Message FromByteArray(byte[] ar)
        {
            Message msg = new Message((Comandos)ar[0]);
            msg.Msg.Clear();
            for (int i = 0; i < ar[1]; i++)
            {
                msg.addMessage(ar[2 + i]);
            }

            return msg;
        }
Пример #2
0
        public static byte[] ToByteArray(Message msg)
        {
            byte[] dat = new byte[msg.LongMsg + 3];
            byte sum = 0;
            dat[0] = (byte)msg.CMD;
            dat[1] = (byte)msg.LongMsg;
            for (int i = 0; i < msg.LongMsg; i++)
                dat[2 + i] = msg.Msg[i];

            foreach (byte b in dat)
                sum += b;

            dat[msg.LongMsg + 2] = (byte)((byte)sum ^ (byte)dat[0]);

            return dat;
        }
Пример #3
0
 public Message readMessage()
 {
     Message m = new Message(Comandos.CMD1);
     try
     {
         List<byte> datos = new List<byte>();
         byte[] dat = new byte[1];
         if (clientSock.Connected)
         {
             clientSock.Receive(dat);
             datos.Add(dat[0]);
             m = new Message((Comandos)dat[0]);
             clientSock.Receive(dat);
             datos.Add(dat[0]);
             while (datos.Count < datos[1] + 2)
             {
                 clientSock.Receive(dat);
                 datos.Add(dat[0]);
                 m.addMessage(dat[0]);
             }
             clientSock.Receive(dat);
         }
     }
     catch (Exception ex)
     {
     }
     return m;
 }