private bool __ReadPacketHead()
{
if (null == m_Socket || false == m_Socket.Connected)
{
Debug.Log("NetTCPSocketConnect::__ReadPacketHead socket is null or connecd = false ");
return false;
}
try
{
Array.Clear(m_ReceiveHead, 0, m_ReceiveHead.Length);
int receiveSize = m_Socket.Receive(m_ReceiveHead, SNetPacketCommon.PACK_HEAD_SIZE, SocketFlags.None);
if (receiveSize == 0)
{
Debug.Log("NetTCPSocketConnect::__ReadPacketHead read pack head 0 data ,will close connect");
return false;
}
while (receiveSize < SNetPacketCommon.PACK_HEAD_SIZE)
{
if (m_Socket == null || m_Socket.Connected == false)
{
Debug.Log("NetTCPSocketConnect::__ReadPacketHead socket is null or connecd = false ");
return false;
}
int nTemsendcount = m_Socket.Receive(m_ReceiveHead, receiveSize, SNetPacketCommon.PACK_HEAD_SIZE - receiveSize, SocketFlags.None);
if (0 == nTemsendcount)
{
Debug.Log("NetTCPSocketConnect::__ReadPacketHead read pack receive 0 data,will close connect");
return false;
}
receiveSize += nTemsendcount;
}
m_unRecvTotalBytes += (uint)receiveSize;
if (false == SocketNetPacket.IsPackHead(m_ReceiveHead))
{
Debug.Log("NetTCPSocketConnect::__ReadPacketHead receive data is not packhead");
return false;
}
return true;
}
catch (System.Exception e)
{
Debug.LogError("NetTCPSocketConnect::__ReadPacketHead Socket receive error: " + e.ToString());
return false;
}
}