读书人

这样收发UDP数据包可以吗?该如何解决

发布时间: 2012-01-21 21:31:43 作者: rapoo

这样收发UDP数据包可以吗?

C/C++ code
int nRet, nLeft, nIdx;nLeft = 10;nIdx = 0;while ( nLeft > 0 ){    nRet = sendto( s, buf+nIdx, nLeft, 0, (struct sockaddr *)&to, sizeof(to) );    if ( SOCKET_ERROR == nRet )    {        break;    }    nLeft -= nRet;    nIdx += nRet;}nLeft = 10;nIdx = 0;while ( nLeft > 0 ){    nRet = recvfrom( s, buf+nIdx, nLeft, 0, NULL, NULL );    if ( SOCKET_ERROR == nRet )    {        break;    }    nLeft -= nRet;    nIdx += nRet;}


[解决办法]
应该可以实现
while ( nLeft > 0 )
{
。。。
}
应该只会执行一次,除非你的包大于1480字节

读书人网 >VC/MFC

热点推荐