コード例 #1
0
        public void Send(params IPacket[] packets)
        {
            if (!IsConnected())
            {
                return;
            }

            var bytes = packets.Sum(p => Packet.GetSize(p.Type)) + Packet.HeaderSize + Packet.PacketTypeSize * packets.Length;

            ReserveBufferStorage(ref sendBuffer, bytes);

            PacketSerializer.Serialize(packets, ref sendBuffer);

            var socket = connection.Client;

            if (socket == null || !socket.Connected)
            {
                return;
            }

            socket.Send(sendBuffer, 0, bytes, SocketFlags.None);
        }
コード例 #2
0
        public void Send(IPacket packet)
        {
            if (!IsConnected())
            {
                return;
            }

            var bytes = Packet.GetSize(packet.Type) + Packet.HeaderSize + Packet.PacketTypeSize;

            ReserveBufferStorage(ref sendBuffer, bytes);

            PacketSerializer.Serialize(packet, ref sendBuffer);

            var socket = connection.Client;

            if (socket == null || !socket.Connected)
            {
                return;
            }

            socket.Send(sendBuffer, 0, bytes, SocketFlags.None);
        }