Beispiel #1
0
 public static void HandlePacket(SocketClient client)
 {
     var type = (PacketType) BitConverter.ToInt16(client.PacketBuffer, 0);
     switch (type)
     {
         case PacketType.LoginRequest:
             LoginRequest.Handel(client, new LoginRequest(client.PacketBuffer), false);
             break;
         case PacketType.RegisterRequest:
             RegisterRequest.Handle(client, new RegisterRequest(client.Buffer));
             break;
         case PacketType.LoginResponse:
             LoginResponse.Handle(client, new LoginResponse(client.PacketBuffer));
             break;
         case PacketType.ForgotPasswordRequest:
             ForgotPasswordRequest.Handel(client, new ForgotPasswordRequest(client.PacketBuffer));
             break;
         case PacketType.MaccAddress:
                 MacAddress.Handle(client, new MacAddress(client.PacketBuffer));
             break;
         case PacketType.PlayerAssociation:
             PlayerAssociation.Handle(client, new PlayerAssociation(client.PacketBuffer));
             break;
         default:
             Logger.Warning($"Unknown packet type {type} from {client.Handler.RemoteEndPoint} with the length of {BitConverter.ToInt16(client.PacketBuffer, 2)}");
             break;
     }
 }
Beispiel #2
0
 public void AcceptCallback(IAsyncResult ar)
 {
     // Get the socket that handles the client request.
     var listener = (Socket) ar.AsyncState;
     var handler = listener.EndAccept(ar);
     var client = new SocketClient(handler);
     handler.BeginReceive(client.Buffer, 0, SocketClient.BufferSize, 0,
         ReadCallback, client);
     listener.BeginAccept(
                 AcceptCallback,
                 listener);
     // Create the state object.
 }