コード例 #1
0
 public override void Handle(INetworkerConnection sender, ChatMessagePacket packet)
 {
     foreach (var tcpConnection in this.connectionsProvider.Provide())
     {
         tcpConnection.Send(packet);
     }
 }
コード例 #2
0
 public override void Handle(INetworkerConnection sender, PingRequestPacket packet)
 {
     sender.Send(new PingResponsePacket
     {
         TransactionId = packet.TransactionId
     });
 }
コード例 #3
0
 public override void Handle(INetworkerConnection sender, ServerInformationRequestPacket packet)
 {
     sender.Send(new ServerInformationResponsePacket
     {
         MachineName   = Environment.MachineName,
         TransactionId = packet.TransactionId
     });
 }
コード例 #4
0
        public override void Handle(INetworkerConnection sender, ChatMessageDispatchPacket packet)
        {
            this._logger.Trace($"Chat Message Handled: {packet.Sender} - {packet.Message}");

            sender?.Send(new ChatMessageReceivedPacket
            {
                Message = "Got it, thanks"
            });
        }
コード例 #5
0
        private void HandlePacket(INetworkerConnection connection,
                                  NetworkerPacketBase deserialized,
                                  byte[] bytes)
        {
            if (!this.packetHandlers.ContainsKey(deserialized.UniqueKey))
            {
                this.Logger.Error(
                    new Exception($"No packet handler could be loaded for {deserialized.UniqueKey}"));
                return;
            }

            var packetHandlerType = this.packetHandlers[deserialized.UniqueKey];
            var packetHandler     = this.GetPacketHandler(packetHandlerType);

            packetHandler.Handle(connection, deserialized, bytes);
        }
コード例 #6
0
        private void HandlePacket(INetworkerConnection connection,
                                  NetworkerPacketBase deserialized,
                                  byte[] bytes)
        {
            Task.Factory.StartNew(() =>
            {
                if (!this.packetHandlers.ContainsKey(deserialized.UniqueKey))
                {
                    return;
                }

                var packetHandlerType = this.packetHandlers[deserialized.UniqueKey];

                var packetHandler =
                    this.container.Resolve <IServerPacketHandler>(packetHandlerType);
                packetHandler.Handle(connection, deserialized, bytes);
            });
        }
コード例 #7
0
 public void Handle(INetworkerConnection clientConnection, NetworkerPacketBase packet, byte[] bytes)
 {
     this.Handle(clientConnection, ZeroFormatterSerializer.Deserialize <T>(bytes));
 }
コード例 #8
0
 public abstract void Handle(INetworkerConnection sender, T packet);