public byte[] GetBytesFor(AbstractPacketOut packet) { byte id = (byte)packet.ID; byte[] data = packet.Data; byte[] fdata = new byte[data.Length + 5]; Utilities.IntToBytes(data.Length).CopyTo(fdata, 0); fdata[4] = id; data.CopyTo(fdata, 5); return(fdata); }
public void SendChunkPacket(AbstractPacketOut packet) { if (!IsAlive) { return; } try { ChunkSocket.Send(GetBytesFor(packet)); } catch (Exception ex) { SysConsole.Output(OutputType.WARNING, "Forcibly disconnected from server: " + ex.GetType().Name + ": " + ex.Message); Disconnect(); } }
public void SendPacket(AbstractPacketOut packet) { if (!IsAlive) { return; } try { ConnectionSocket.Send(GetBytesFor(packet)); } catch (Exception ex) { if (ex is ThreadAbortException) { throw ex; } SysConsole.Output(OutputType.WARNING, "Forcibly disconnected from server: " + ex.GetType().Name + ": " + ex.Message); SysConsole.Output(OutputType.DEBUG, ex.ToString()); Disconnect(); } }
/// <summary> /// Sends a packet from the client to the server down the secondary packet channel. /// </summary> /// <param name="packet">The packet to send</param> public static void SendPacketToSecondary(AbstractPacketOut packet) { if (!Connected) { throw new Exception("Tried to send packet while not ready to send packets!"); } try { byte[] data = packet.Data; byte[] full = new byte[data.Length + 5]; BitConverter.GetBytes(data.Length).CopyTo(full, 0); full[4] = (byte)packet.ID; data.CopyTo(full, 5); ChunkConnection.Send(full); } catch (Exception ex) { SysConsole.Output(OutputType.ERROR, "Networking / send packet [secondary] (" + packet.ID + "): " + ex.ToString()); Disconnect(); } }
public void SendPacket(AbstractPacketOut packet) { if (!IsAlive) { return; } try { ConnectionSocket.Send(GetBytesFor(packet)); } catch (Exception ex) { SysConsole.Output(OutputType.WARNING, "Forcibly disconnected from server: " + ex.GetType().Name + ": " + ex.Message); Disconnect(); } }
public byte[] GetBytesFor(AbstractPacketOut packet) { byte id = (byte)packet.ID; byte[] data = packet.Data; byte[] fdata = new byte[data.Length + 5]; Utilities.IntToBytes(data.Length).CopyTo(fdata, 0); fdata[4] = id; data.CopyTo(fdata, 5); return fdata; }