Esempio n. 1
0
    public static void ChannelSend(SendablePacket packet)
    {
        if (SocketConnected())
        {
            // socket.Send(packet.GetSendableBytes());

            byte[] buffer             = packet.GetSendableBytes();
            SocketAsyncEventArgs args = new SocketAsyncEventArgs();
            args.SetBuffer(buffer, 0, buffer.Length);

            try
            {
                socket.SendAsync(args);
            }
            catch (Exception)
            {
            }
        }
        else // Connection closed.
        {
            unexpectedDisconnection = true;
            DisconnectFromServer();
            // Clear world instance values.
            if (WorldManager.Instance != null)
            {
                WorldManager.Instance.ExitWorld();
            }
            // Go to login screen.
            MainManager.Instance.LoadScene(MainManager.LOGIN_SCENE);
        }
    }
 public async void ChannelSend(SendablePacket packet)
 {
     try
     {
         await networkStream.WriteAsync(packet.GetSendableBytes());
     }
     catch (Exception)
     {
         // Connection closed from client side.
     }
 }
 public void ChannelSend(SendablePacket packet)
 {
     if (SocketConnected())
     {
         socket.Send(Encryption.Encrypt(packet.GetSendableBytes()));
     }
     else // Connection closed.
     {
         DisconnectFromServer();
         // Go to login screen.
         SceneFader.Fade("LoginScreen", Color.white, 0.5f);
     }
 }
Esempio n. 4
0
 public void SendPacket(SendablePacket Packet)
 {
     Packet.write();
     byte[] PacketBytes = Packet.GetBytes();
     using (Packet)
     {
         PacketBytes = Crypt.Encrypt(PacketBytes);
         using (MemoryStream s = new MemoryStream())
         {
             byte[] PacketLength = BitConverter.GetBytes((short)(PacketBytes.Length + 2));
             s.Write(PacketLength, 0, PacketLength.Length);
             s.Write(PacketBytes, 0, PacketBytes.Length);
             PacketBytes = s.ToArray();
         }
     }
     _Conn.Send(PacketBytes);
 }
Esempio n. 5
0
 public void ChannelSend(SendablePacket packet)
 {
     client.ChannelSend(packet);
 }
Esempio n. 6
0
    public static void Handle(GameClient client, ReceivablePacket packet)
    {
        /*
         * switch (packet.ReadShort()) // Packet id.
         * {
         *  case 1:
         *      new AccountAuthenticationRequest(client, packet);
         *      break;
         *
         *  case 2:
         *      new CharacterSelectionInfoRequest(client, packet);
         *      break;
         *
         *  case 3:
         *      new CharacterCreationRequest(client, packet);
         *      break;
         *
         *  case 4:
         *      new CharacterDeletionRequest(client, packet);
         *      break;
         *
         *  case 5:
         *      new CharacterSlotUpdate(client, packet);
         *      break;
         *
         *  case 6:
         *      new CharacterSelectUpdate(client, packet);
         *      break;
         *
         *  case 7:
         *      new EnterWorldRequest(client, packet);
         *      break;
         *
         *  case 8:
         *      new ExitWorldRequest(client, packet);
         *      break;
         *
         *  case 9:
         *      new LocationUpdateRequest(client, packet);
         *      break;
         *
         *  case 10:
         *      new AnimatorUpdateRequest(client, packet);
         *      break;
         *
         *  case 11:
         *      new ObjectInfoRequest(client, packet);
         *      break;
         *
         *  case 12:
         *      new PlayerOptionsUpdate(client, packet);
         *      break;
         *
         *  case 13:
         *      new ChatRequest(client, packet);
         *      break;
         * }
         */

        // Test receive.
        LogManager.Log("" + packet.ReadByte());
        LogManager.Log("" + packet.ReadShort());
        LogManager.Log("" + packet.ReadInt());
        LogManager.Log("" + packet.ReadLong());
        LogManager.Log("" + packet.ReadFloat());
        LogManager.Log("" + packet.ReadDouble());
        LogManager.Log("" + packet.ReadString());

        // Test send.
        SendablePacket send = new SendablePacket();

        send.WriteShort(1); // id
        send.WriteString("All is good!");
        client.ChannelSend(send);
    }