public override void SendAsync( List<byte[]> buffers, byte channelID = 0, PacketFlags flags = PacketFlags.Reliable) { int size = buffers.Select(b => b.Length).Sum(); byte[] buffer = new byte[size]; int index = 0; foreach (byte[] bytes in buffers) { Array.Copy(bytes, 0, buffer, index, bytes.Length); index += bytes.Length; } if (!this.isConnected) { BufferInfo info = new BufferInfo { Buffer = buffer, ChannelID = channelID, Flags = flags }; this.queue.Enqueue(info); return; } this.socket.SendAsync(buffer, channelID, flags); }
public override void SendAsync( byte[] buffer, byte channelID = 0, PacketFlags flags = PacketFlags.Reliable) { if (!this.isConnected) { BufferInfo info = new BufferInfo { Buffer = buffer, ChannelID = channelID, Flags = flags }; this.queue.Enqueue(info); return; } this.socket.SendAsync(buffer, channelID, flags); }