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); } }
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); }
public void ChannelSend(SendablePacket packet) { client.ChannelSend(packet); }
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); }