while(1)
{
if ((packet_len= recv(g_iSkt,g_pucRcvPktBuf,g_iTestPktLen,MSG_TRUNC)) <= 0)
{
if((packet_len<0) &&(errno == EAGAIN||errno == EWOULDBLOCK||errno == EINTR))
{
DEBUG_TEST("------------packet_len is %d, errno is %d\n", packet_len,errno);
perror("socket continue");
continue;
}
perror("socket break");
break;
}
else
{
//進行收包處理,檢查資料是否正確
}
}
uj5u.com熱心網友回復:
加個包頭,包含資料長度,接收的時候先收包頭,然后根據包頭里資料的長度接收下面的資料。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/124033.html
標籤:網絡通信
