Exemplo n.º 1
0
    /// <summary>
    /// 向链接写入数据流
    /// </summary>
    //void OnWrite(IAsyncResult r) {
    //    try {
    //        outStream.EndWrite(r);
    //    } catch (Exception ex) {
    //        Debug.LogError("OnWrite--->>>" + ex.Message);
    //    }
    //}

    /// <summary>
    /// 接收到消息
    /// </summary>
    void OnReceive(byte[] bytes, int length)
    {
        memStream.Seek(0, SeekOrigin.End);
        memStream.Write(bytes, 0, length);
        //Reset to beginning
        memStream.Seek(0, SeekOrigin.Begin);
        while (RemainingBytes() > AppHeader.HEAD_SIZE)
        {
            //ushort messageLen = reader.ReadUInt16();
            AppHeader appHeader = new AppHeader(reader.ReadBytes(AppHeader.HEAD_SIZE));
            if (!appHeader.IsValid())
            {
                Debug.Log("appHeader Invalid");
                return;
            }
            if (RemainingBytes() + AppHeader.HEAD_SIZE >= appHeader._pkgLen)
            {
                MemoryStream ms     = new MemoryStream();
                BinaryWriter writer = new BinaryWriter(ms);
                writer.Write(reader.ReadBytes(appHeader._pkgLen - AppHeader.HEAD_SIZE));
                ms.Seek(0, SeekOrigin.Begin);
                OnReceivedMessage(ms);
            }
            else
            {
                //Back up the position two bytes
                memStream.Position = memStream.Position - AppHeader.HEAD_SIZE;
                break;
            }
        }
        //Create a new stream with any leftover bytes
        byte[] leftover = reader.ReadBytes((int)RemainingBytes());
        memStream.SetLength(0);     //Clear
        memStream.Write(leftover, 0, leftover.Length);
    }
Exemplo n.º 2
0
            public ReportHeartbeatPulse.AppHeader  setAppHeader(AppHeader value)
            {
                m_HeaderRec = value.getHeaderRec();
                m_HeaderRec.setParent(this);

                return(this);
            }
Exemplo n.º 3
0
 public bool isEqual(AppHeader value)
 {
     if (!this.getHeaderRec().isEqual(value.getHeaderRec()))
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 4
0
        public ReportHeartbeatPulse(ReportHeartbeatPulse value)
        {
            /// Initiliaze the protected variables
            m_AppHeader = new AppHeader();
            m_IsCommand = false;

            /// Copy the values
            m_AppHeader = value.m_AppHeader;
        }
Exemplo n.º 5
0
        public ReportHeartbeatPulse(ReportHeartbeatPulse value)
        {
            /// Initiliaze the protected variables
            m_AppHeader = new AppHeader();
            m_IsCommand = false;

            /// Copy the values
            m_AppHeader = value.m_AppHeader;
        }
Exemplo n.º 6
0
            public AppHeader(AppHeader value)
            {
                /// Initiliaze the protected variables
                m_HeaderRec = new HeaderRec();
                m_HeaderRec.setParent(this);

                /// Copy the values
                m_HeaderRec = value.getHeaderRec();
                m_HeaderRec.setParent(this);
            }
Exemplo n.º 7
0
    /// <summary>
    /// 发送消息
    /// </summary>
    //public void SendMessage(ByteBuffer buffer) {
    //    SessionSend(buffer.ToBytes());
    //    buffer.Close();
    //}
    public void SendMessage(string data)
    {
        //Debug.Log("json:"+json.ToString());
        //string data = MiniJSON.JsonEncode(json);

        AppHeader header = new AppHeader();

        byte[] dataBuffer = Encoding.UTF8.GetBytes(data);
        header._pkgLen = AppHeader.HEAD_SIZE + dataBuffer.Length;

        uint cursor = 0;

        byte[] packBuff = new byte[header._pkgLen];
        header.ToBuffer(ref packBuff, ref cursor);
        Array.Copy(dataBuffer, 0, packBuff, cursor, dataBuffer.Length);
        cursor += (uint)dataBuffer.Length;

        Send(packBuff);
    }
Exemplo n.º 8
0
            public AppHeader(AppHeader value)
            {
                /// Initiliaze the protected variables
                m_HeaderRec = new HeaderRec();
                m_HeaderRec.setParent(this);

                /// Copy the values
                m_HeaderRec = value.getHeaderRec();
                m_HeaderRec.setParent(this);
            }
Exemplo n.º 9
0
        public ReportHeartbeatPulse setAs(ReportHeartbeatPulse value)
        {
            m_AppHeader = value.m_AppHeader;

            return this;
        }
Exemplo n.º 10
0
 public void setAppHeader(AppHeader value)
 {
     m_AppHeader = value;
 }
Exemplo n.º 11
0
        public QueryHeartbeatPulse setAs(QueryHeartbeatPulse value)
        {
            m_AppHeader = value.m_AppHeader;

            return this;
        }
Exemplo n.º 12
0
 public ReportHeartbeatPulse()
 {
     m_AppHeader = new AppHeader();
     m_IsCommand = false;
 }
Exemplo n.º 13
0
 public HeaderRec()
 {
     m_parent = null;
     m_MessageID = 0x4202;
 }
Exemplo n.º 14
0
 public QueryHeartbeatPulse()
 {
     m_AppHeader = new AppHeader();
     m_IsCommand = false;
 }
Exemplo n.º 15
0
 public ReportHeartbeatPulse()
 {
     m_AppHeader = new AppHeader();
     m_IsCommand = false;
 }
Exemplo n.º 16
0
 public bool isEqual(AppHeader value)
 {
     if (!this.getHeaderRec().isEqual(value.getHeaderRec()))
     {
     return false;
     }
     return true;
 }
Exemplo n.º 17
0
        public QueryHeartbeatPulse setAs(QueryHeartbeatPulse value)
        {
            m_AppHeader = value.m_AppHeader;

            return(this);
        }
Exemplo n.º 18
0
 public void setParent(AppHeader parent)
 {
     m_parent = parent;
 }
Exemplo n.º 19
0
 public QueryHeartbeatPulse()
 {
     m_AppHeader = new AppHeader();
     m_IsCommand = false;
 }
Exemplo n.º 20
0
 public bool notEquals(AppHeader value)
 {
     return !this.isEqual(value);
 }
Exemplo n.º 21
0
 public bool notEquals(AppHeader value)
 {
     return(!this.isEqual(value));
 }
Exemplo n.º 22
0
            public ReportHeartbeatPulse.AppHeader setAppHeader(AppHeader value)
            {
                m_HeaderRec = value.getHeaderRec();
                m_HeaderRec.setParent(this);

                return this;
            }
Exemplo n.º 23
0
 public void setAppHeader(AppHeader value)
 {
     m_AppHeader = value;
 }
Exemplo n.º 24
0
                public HeaderRec(HeaderRec value)
                {
                    /// Initiliaze the protected variables
                    m_parent = null;
                    m_MessageID = 0x4202;

                    /// Copy the values
                    m_MessageID = value.m_MessageID;
                }
Exemplo n.º 25
0
        public ReportHeartbeatPulse setAs(ReportHeartbeatPulse value)
        {
            m_AppHeader = value.m_AppHeader;

            return(this);
        }
Exemplo n.º 26
0
 public void setParent(AppHeader parent)
 {
     m_parent = parent;
 }
 public Response CancelCust(AppHeader appHelper, Request request)
 {
     // I don't know what it's like
     throw new NotImplementedException();
 }