我估计是网速问题
你可以尝试让它一直处在循环中,这样等待一定时间之后,应该可以收到数据.
你试试.
如:
将你下面代码放到一个循环中.
for(int i=0;i<10;i++)
{
memset(recvbuffer1,0,0x400);
nRecv=recv(s,recvbuffer1,0x400,0);//第一次执行到这一步时可以招收到数据,以后每次都不行
}
改为:
while(1)
{
for(int i=0;i<10;i++)
{
memset(recvbuffer1,0,0x400);
nRecv=recv(s,recvbuffer1,0x400,0);//第一次执行到这一步时可以招收到数据,以后每次都不行
}
}
这样一直循环,在一定时间应该可以收到数据.
你试试.
当然,要注意,这种方式只是简单尝试,在实际中,尽量不要让它死循环.除非,你就要它长久运行.
你可以尝试让它一直处在循环中,这样等待一定时间之后,应该可以收到数据.
你试试.
如:
将你下面代码放到一个循环中.
for(int i=0;i<10;i++)
{
memset(recvbuffer1,0,0x400);
nRecv=recv(s,recvbuffer1,0x400,0);//第一次执行到这一步时可以招收到数据,以后每次都不行
}
改为:
while(1)
{
for(int i=0;i<10;i++)
{
memset(recvbuffer1,0,0x400);
nRecv=recv(s,recvbuffer1,0x400,0);//第一次执行到这一步时可以招收到数据,以后每次都不行
}
}
这样一直循环,在一定时间应该可以收到数据.
你试试.
当然,要注意,这种方式只是简单尝试,在实际中,尽量不要让它死循环.除非,你就要它长久运行.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货