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; }
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); }
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); }
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); }