Ejemplo n.º 1
0
    void ReadPacket_Content()
    {
        int recv_length = 0;

        while (RecvPacketLength > 0)
        {
            try
            {
                // Read a completely package
                recv_length = TheReader.Read(RecvPacketBuffer, RecvPacketBufferIndex, RecvPacketLength);
            }
            catch (Exception e)
            {
                Debug.LogError("ReadPacket_Content   Exception error= " + e);
                return;
            }

            if (recv_length > 0)
            {
                RecvPacketLength      -= recv_length;
                RecvPacketBufferIndex += recv_length;
            }
            else
            {
                Debug.LogError("ReadPacket_Content   ERROR recv_length= " + recv_length);
                return;
            }
        }

        ReadPacket_ContinueReadFlag = false;

        Debug.Log("ReadPacket_Content   total_recv_length= " + RecvPacketBufferIndex);

        // Transfer to package content
        HeadPacketInfo packet = new HeadPacketInfo();

        packet.PacketLength      = (ushort)BitConverter.ToInt16(RecvPacketBuffer, 0);
        packet.PacketType        = (ushort)BitConverter.ToInt16(RecvPacketBuffer, 2);
        packet.PacketOrderNumber = (ushort)BitConverter.ToInt16(RecvPacketBuffer, 4);
        string buffer = System.Text.Encoding.Default.GetString(RecvPacketBuffer, HeadPacketInfo_Length, RecvPacketBuffer.Length - HeadPacketInfo_Length);

        Debug.Log("ReadPacket_Content   packet.PacketLength= " + packet.PacketLength);
        Debug.Log("ReadPacket_Content   packet.PacketType= " + packet.PacketType);
        Debug.Log("ReadPacket_Content   packet.PacketOrderNumber= " + packet.PacketOrderNumber);
        Debug.Log("ReadPacket_Content   packet.Buffer= " + buffer);

        if (packet.PacketOrderNumber == ++Client.S2C_PacketOrderNumber)
        {
            Debug.Log("ReadPacket_Content   OK");
        }
        else
        {
            Debug.Log("ReadPacket_Content   ERROR PacketOrderNumber : packet.PacketOrderNumber= " + packet.PacketOrderNumber + ", Client.S2C_PacketOrderNumber= " + Client.S2C_PacketOrderNumber);
        }

        Array.Clear(RecvPacketBuffer, 0, PacketBufferMax);
        RecvPacketLength      = PACKET_LENGTH_SIZE;
        RecvPacketBufferIndex = 0;
    }
Ejemplo n.º 2
0
    void Send_C2S_Alive()
    {
        HeadPacketInfo packet = new HeadPacketInfo();

        packet.PacketLength      = (ushort)(HeadPacketInfo_Length);
        packet.PacketType        = (ushort)_PACKET_TYPE_.PACKET__C2S_ALIVE;
        packet.PacketOrderNumber = ++Client.C2S_PacketOrderNumber;

        MakeSendPacketBuffer(packet.PacketLength);
        MakeSendPacketBuffer(packet.PacketType);
        MakeSendPacketBuffer(packet.PacketOrderNumber);

        SendPacket(SendPacketBuffer, SendPacketBufferUseLength);
    }
Ejemplo n.º 3
0
    void Send_C2S_Message_2(string message)
    {
        HeadPacketInfo packet = new HeadPacketInfo();

        packet.PacketLength      = (ushort)(HeadPacketInfo_Length + message.Length);
        packet.PacketType        = (ushort)_PACKET_TYPE_.PACKET__C2S_MESSAGE_2;
        packet.PacketOrderNumber = ++Client.C2S_PacketOrderNumber;

        MakeSendPacketBuffer(packet.PacketLength);
        MakeSendPacketBuffer(packet.PacketType);
        MakeSendPacketBuffer(packet.PacketOrderNumber);
        MakeSendPacketBuffer(message);

        SendPacket(SendPacketBuffer, SendPacketBufferUseLength);
    }
Ejemplo n.º 4
0
    void Send_C2S_Name(string name)
    {
        HeadPacketInfo packet = new HeadPacketInfo();

        packet.PacketLength      = (ushort)(HeadPacketInfo_Length + name.Length);
        packet.PacketType        = (ushort)_PACKET_TYPE_.PACKET__C2S_NAME;
        packet.PacketOrderNumber = ++Client.C2S_PacketOrderNumber;

        MakeSendPacketBuffer(packet.PacketLength);
        MakeSendPacketBuffer(packet.PacketType);
        MakeSendPacketBuffer(packet.PacketOrderNumber);
        MakeSendPacketBuffer(name);

        SendPacket(SendPacketBuffer, SendPacketBufferUseLength);
    }