Exemple #1
0
        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);
        }
Exemple #2
0
 private void _psSender_OnPublicNatInfoResponse(NatInfo obj)
 {
     MyNatInfo = obj;
     OnPublicNatInfoResponse?.Invoke(obj);
 }