示例#1
0
        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));
        }
示例#2
0
        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);
                    });
                });
            }
        }