请问我写的UDP程序,为什么不能循环接收啊?
char szData[261]={0};
程序写成一次接收就可以收到
nLen=recvfrom(m_server,szData,sizeof(szData),0,(LPSOCKADDR)&client_addr,&m_nAddrLen);
改成
for (int i=0;i<261;i++)
{
nLen=recvfrom(m_server,&szData[i],sizeof(szData[i]),0,(LPSOCKADDR)&client_addr,&m_nAddrLen);
}
就只能收到第一个数据,这怎么办啊?我要循环接收
[解决办法]
261个字节 你还要分261次接收啊
[解决办法]
for (int i=0;i<261;i++)
这个循环也就一瞬间的事情,这么短的时间没数据很正常
你用while(true)
[解决办法]
用while吧。
[解决办法]
while(TRUE)
{
nLen=recvfrom(m_server,szData,261,0,(LPSOCKADDR)&client_addr,&m_nAddrLen);
}