private BufferSegment NetMessageToBufferSegment(INetMessage message) { var bytes = encoding.GetBytes(Json.ToJsonString(message)); Packet pac = new Packet(1, NetMessageTool.GetIDByType(message.GetType()), 1, bytes); bytes = pac.Pack(); return(new BufferSegment(bytes, 0, bytes.Length)); }
private void OnTCPRec(SocketToken token, BufferSegment seg) { tcpPkgReader.Set(seg.buffer, seg.offset, seg.count); var pkgs = tcpPkgReader.Get(); if (pkgs != null) { pkgs.ForEach((p) => { INetMessage msg = Json.ToObject(NetMessageTool.GetTypeByID(p.pkgID), encoding.GetString(p.message)) as INetMessage; Framework.env1.modules.Loom.RunOnMainThread(() => { onTcpMessage?.Invoke(token, msg); }); }); } }