Exemple #1
0
        private void ReceiveBodyCallback(IAsyncResult ar)
        {
            try
            {
                OnInfo("--------------------start ReceiveBodyCallback");

                if (!this.socket.Connected)
                {
                    return;
                }

                int count = this.socket.EndReceive(ar);


                if (count == 0)
                {
                    OnError("ReceiveBodyCallback:socket receive 0");
                    return;
                }

                this.readBytes += count;
                if (this.readBytes < this.bodyBuf.Length)
                {
                    this.BeginReceiveBody(this.readBytes);
                    return;
                }

                byte[] bytes_cmdid = new byte[2];
                byte[] bytes_seq   = new byte[4];
                byte[] bytes_body  = new byte[bodyBuf.Length - 6];
                ByteAr_b.PickBytes(this.bodyBuf, bytes_cmdid.Length, bytes_cmdid, 0);
                ByteAr_b.PickBytes(this.bodyBuf, bytes_seq.Length, bytes_seq, 2);
                ByteAr_b.PickBytes(this.bodyBuf, bytes_body.Length, bytes_body, bytes_cmdid.Length + bytes_seq.Length);

                if (ByteAr_b.b2us(bytes_cmdid) == 0xa10b)
                {
                    PswCode = ByteAr_b.b2i(bytes_body);
                }
                else
                {
                    this.OnReceived(this.bodyBuf);

/*					Pt pt = ptMng.GetInstance().MakePt(ByteAr_b.b2us(bytes_cmdid),ByteAr_b.b2ui(bytes_seq), bytes_body);
 *
 *                      if (pt == null)
 *                          OnError("Receive unknow pt pt_id = " + ByteAr_b.b2us(bytes_cmdid));
 *                      else
 *                      {
 *                          pt.seq = ByteAr_b.b2ui(bytes_seq);
 *                      this.OnReceived(pt);
 *                      }*/
                }

                this.BeginReceiveHeader(0);
            }
            catch (Exception e)
            {
                OnError("ReceiveBodyCallback:socket catch" + e.Message);
            }
        }
Exemple #2
0
        private void ReceiveHeaderCallback(IAsyncResult ar)
        {
            try
            {
                OnInfo("--------------------start ReceiveHeaderCallback");

                if (!this.socket.Connected)
                {
                    OnError("ReceiveHeaderCallback socket not connected");
                    return;
                }

                int count = this.socket.EndReceive(ar);
                if (count == 0)
                {
                    OnError("ReceiveHeaderCallback:socket receive 0");
                    return;
                }

                this.readBytes += count;
                if (this.readBytes < this.headerBuf.Length)
                {
                    this.BeginReceiveHeader(this.readBytes);
                    return;
                }

                int dataSize = ByteAr_b.b2i(headerBuf);
                dataSize = dataSize ^ PswCode;
                int bodySize = dataSize - this.headerBuf.Length;
                this.bodyBuf = new byte[bodySize];
                this.BeginReceiveBody(0);
            }
            catch (Exception e)
            {
                OnError("ReceiveHeaderCallback:socket catch" + e.Message);
            }
        }
Exemple #3
0
 public int Read_int()
 {
     byte[] bytes = Read_bytes(4);
     return(ByteAr_b.b2i(bytes));
 }