我估计是网速问题
你可以尝试让它一直处在循环中,这样等待一定时间之后,应该可以收到数据.
你试试.
如:
将你下面代码放到一个循环中.
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);//第一次执行到这一步时可以招收到数据,以后每次都不行
}
}
这样一直循环,在一定时间应该可以收到数据.
你试试.
当然,要注意,这种方式只是简单尝试,在实际中,尽量不要让它死循环.除非,你就要它长久运行.