Example #1
0
    public bool Send(byte[] buffer, ushort option)
    {
        if (buffer.Length < 0)
        {
            return(false);
        }
        if (buffer.Length + NetBase.NET_HEADER_SIZE > NetBase.NET_BUFF_SIZE)
        {
            return(false);
        }

        if (sentNumber < 1)
        {
            sentNumber++;
        }

        NetPacket np = new NetPacket();

        np.header.netId    = NetBase.NET_ID;
        np.header.option   = option;
        np.header.number   = sentNumber++;
        np.header.checksum = (ushort)NetBase.ComputeChecksum(buffer);
        np.data            = buffer;

        m_sendingPacks.Add(np);

        return(true);
    }
Example #2
0
    public bool Send(byte[] buffer, ushort option)
    {
        NetPackage np = new NetPackage(net.NET_HEADER_SIZE, net.NET_BUFF_SIZE);

        if ((buffer.Length + net.NET_HEADER_SIZE) > net.NET_BUFF_SIZE)
        {
            return(false);
        }

        np.size = buffer.Length + net.NET_HEADER_SIZE;

        Buffer.BlockCopy(buffer, 0, np.data, net.NET_HEADER_SIZE, buffer.Length);

        np.header.netId  = net.NET_ID;
        np.header.option = option;
        if (sentNumber < 1)
        {
            sentNumber++;
        }
        np.header.number = sentNumber++;
        byte[] tmpBuff = net.NetHeaderToByteArray(np.header);
        np.header.checksum = (ushort)net.ComputeChecksum(buffer);
        Buffer.BlockCopy(net.NetHeaderToByteArray(np.header), 0, np.data, 0, net.NET_HEADER_SIZE);

        m_sendingPacks.Add(np);

        return(true);
    }