Represents data that has been received over the network.
Наследование: System.EventArgs
Пример #1
0
 /// <summary>
 /// Raises the <see cref="E:NetMsgReceived"/> event.
 /// </summary>
 /// <param name="e">The <see cref="SteamKit2.NetMsgEventArgs"/> instance containing the event data.</param>
 protected void OnNetMsgReceived(NetMsgEventArgs e)
 {
     if (NetMsgReceived != null)
     {
         NetMsgReceived(this, e);
     }
 }
Пример #2
0
        void NetMsgReceived(object sender, NetMsgEventArgs e)
        {
            var packetMsg = CMClient.GetPacketMsg(e.Data);

            if (packetMsg == null)
            {
                DebugLog.WriteLine(nameof(UFSClient), "Packet message failed to parse, shutting down connection");
                Disconnect(userInitiated: false);
                return;
            }

            DebugLog.WriteLine(nameof(UFSClient), "<- Recv'd EMsg: {0} ({1}) {2}", packetMsg.MsgType, ( int )packetMsg.MsgType, packetMsg.IsProto ? "(Proto)" : "");

            var msgDispatch = new Dictionary <EMsg, Action <IPacketMsg> >
            {
                { EMsg.ClientUFSLoginResponse, HandleLoginResponse },
                { EMsg.ClientUFSUploadFileResponse, HandleUploadFileResponse },
                { EMsg.ClientUFSUploadFileFinished, HandleUploadFileFinished },
            };

            if (!msgDispatch.TryGetValue(packetMsg.MsgType, out var handlerFunc))
            {
                return;
            }

            handlerFunc(packetMsg);
        }
Пример #3
0
        void NetMsgReceived(object sender, NetMsgEventArgs e)
        {
            var packetMsg = CMClient.GetPacketMsg(e.Data);

            DebugLog.WriteLine("UFSClient", "<- Recv'd EMsg: {0} ({1}) {2}", packetMsg.MsgType, ( int )packetMsg.MsgType, packetMsg.IsProto ? "(Proto)" : "");

            var msgDispatch = new Dictionary <EMsg, Action <IPacketMsg> >
            {
                { EMsg.ChannelEncryptRequest, HandleEncryptRequest },
                { EMsg.ChannelEncryptResult, HandleEncryptResult },

                { EMsg.ClientUFSLoginResponse, HandleLoginResponse },
                { EMsg.ClientUFSUploadFileResponse, HandleUploadFileResponse },
                { EMsg.ClientUFSUploadFileFinished, HandleUploadFileFinished },
            };

            Action <IPacketMsg> handlerFunc;

            if (!msgDispatch.TryGetValue(packetMsg.MsgType, out handlerFunc))
            {
                return;
            }

            handlerFunc(packetMsg);
        }
        void OnNetMsgReceived(object sender, NetMsgEventArgs e)
        {
            if (state == EncryptionState.Encrypted)
            {
                var plaintextData = encryption !.ProcessIncoming(e.Data);
                NetMsgReceived?.Invoke(this, e.WithData(plaintextData));
                return;
            }

            var packetMsg = CMClient.GetPacketMsg(e.Data, log);

            if (packetMsg == null)
            {
                log.LogDebug(nameof(EnvelopeEncryptedConnection), "Failed to parse message during channel setup, shutting down connection");
                Disconnect(userInitiated: false);
                return;
            }
            else if (!IsExpectedEMsg(packetMsg.MsgType))
            {
                log.LogDebug(nameof(EnvelopeEncryptedConnection), "Rejected EMsg: {0} during channel setup", packetMsg.MsgType);
                return;
            }

            switch (packetMsg.MsgType)
            {
            case EMsg.ChannelEncryptRequest:
                HandleEncryptRequest(packetMsg);
                break;

            case EMsg.ChannelEncryptResult:
                HandleEncryptResult(packetMsg);
                break;
            }
        }
Пример #5
0
        void OnNetMsgReceived(object sender, NetMsgEventArgs e)
        {
            if (state == EncryptionState.Encrypted)
            {
                var plaintextData = encryption.ProcessIncoming(e.Data);
                NetMsgReceived?.Invoke(this, e.WithData(plaintextData));
                return;
            }

            var packetMsg = CMClient.GetPacketMsg(e.Data);

            if (!IsExpectedEMsg(packetMsg.MsgType))
            {
                DebugLog.WriteLine(nameof(EnvelopeEncryptedConnection), "Rejected EMsg: {0} during channel setup", packetMsg.MsgType);
                return;
            }

            switch (packetMsg.MsgType)
            {
            case EMsg.ChannelEncryptRequest:
                HandleEncryptRequest(packetMsg);
                break;

            case EMsg.ChannelEncryptResult:
                HandleEncryptResult(packetMsg);
                break;
            }
        }
Пример #6
0
        void NetMsgReceived( object sender, NetMsgEventArgs e )
        {
            var packetMsg = CMClient.GetPacketMsg( e.Data );

            DebugLog.WriteLine( "UFSClient", "<- Recv'd EMsg: {0} ({1}) {2}", packetMsg.MsgType, ( int )packetMsg.MsgType, packetMsg.IsProto ? "(Proto)" : "" );

            var msgDispatch = new Dictionary<EMsg, Action<IPacketMsg>>
            {
                { EMsg.ChannelEncryptRequest, HandleEncryptRequest },
                { EMsg.ChannelEncryptResult, HandleEncryptResult },

                { EMsg.ClientUFSLoginResponse, HandleLoginResponse },
                { EMsg.ClientUFSUploadFileResponse, HandleUploadFileResponse },
                { EMsg.ClientUFSUploadFileFinished, HandleUploadFileFinished },
            };

            Action<IPacketMsg> handlerFunc;
            if ( !msgDispatch.TryGetValue( packetMsg.MsgType, out handlerFunc ) )
                return;

            handlerFunc( packetMsg );
        }
Пример #7
0
 /// <summary>
 /// Raises the <see cref="E:NetMsgReceived"/> event.
 /// </summary>
 /// <param name="e">The <see cref="SteamKit2.NetMsgEventArgs"/> instance containing the event data.</param>
 protected void OnNetMsgReceived( NetMsgEventArgs e )
 {
     if ( NetMsgReceived != null )
         NetMsgReceived( this, e );
 }