/// <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); }
public ReportHeartbeatPulse.AppHeader setAppHeader(AppHeader value) { m_HeaderRec = value.getHeaderRec(); m_HeaderRec.setParent(this); return(this); }
public bool isEqual(AppHeader value) { if (!this.getHeaderRec().isEqual(value.getHeaderRec())) { return(false); } return(true); }
public ReportHeartbeatPulse(ReportHeartbeatPulse value) { /// Initiliaze the protected variables m_AppHeader = new AppHeader(); m_IsCommand = false; /// Copy the values m_AppHeader = value.m_AppHeader; }
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); }
/// <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); }
public ReportHeartbeatPulse setAs(ReportHeartbeatPulse value) { m_AppHeader = value.m_AppHeader; return this; }
public void setAppHeader(AppHeader value) { m_AppHeader = value; }
public QueryHeartbeatPulse setAs(QueryHeartbeatPulse value) { m_AppHeader = value.m_AppHeader; return this; }
public ReportHeartbeatPulse() { m_AppHeader = new AppHeader(); m_IsCommand = false; }
public HeaderRec() { m_parent = null; m_MessageID = 0x4202; }
public QueryHeartbeatPulse() { m_AppHeader = new AppHeader(); m_IsCommand = false; }
public bool isEqual(AppHeader value) { if (!this.getHeaderRec().isEqual(value.getHeaderRec())) { return false; } return true; }
public QueryHeartbeatPulse setAs(QueryHeartbeatPulse value) { m_AppHeader = value.m_AppHeader; return(this); }
public void setParent(AppHeader parent) { m_parent = parent; }
public bool notEquals(AppHeader value) { return !this.isEqual(value); }
public bool notEquals(AppHeader value) { return(!this.isEqual(value)); }
public ReportHeartbeatPulse.AppHeader setAppHeader(AppHeader value) { m_HeaderRec = value.getHeaderRec(); m_HeaderRec.setParent(this); return this; }
public HeaderRec(HeaderRec value) { /// Initiliaze the protected variables m_parent = null; m_MessageID = 0x4202; /// Copy the values m_MessageID = value.m_MessageID; }
public ReportHeartbeatPulse setAs(ReportHeartbeatPulse value) { m_AppHeader = value.m_AppHeader; return(this); }
public Response CancelCust(AppHeader appHelper, Request request) { // I don't know what it's like throw new NotImplementedException(); }