protected override void OnReceived(byte[] data) { Actived = DateTime.Now; base.UserToken.Unpacker.Unpack(data, (msg) => { switch (msg.Type) { case (byte)TcpP2pType.Heart: break; case (byte)TcpP2pType.PublicNatInfoRequest: break; case (byte)TcpP2pType.PublicNatInfoResponse: _me = SerializeHelper.ByteDeserialize <NatInfo>(msg.Content); OnPublicNatInfoResponse.Invoke(_me); break; case (byte)TcpP2pType.Message: OnMessage?.Invoke(msg); break; case (byte)TcpP2pType.P2PSResponse: OnReceiveP2PTask?.Invoke(SerializeHelper.ByteDeserialize <NatInfo>(msg.Content)); break; case (byte)TcpP2pType.P2PResponse: OnP2PSucess?.Invoke(_me); break; case (byte)TcpP2pType.Logout: case (byte)TcpP2pType.Close: default: SendClose(); base.Disconnect(); break; } }, null, null); }
private void _psSender_OnPublicNatInfoResponse(NatInfo obj) { MyNatInfo = obj; OnPublicNatInfoResponse?.Invoke(obj); }