你要接收的Socket没有给你发数据过来,所以...1:确信数据会发出
2:设置Socket的Timeout属性
3:用Select之类的东东(也就是说,换个接收方式)
4:查MSDN,完整的说明(关键字:socket、select等)

解决方案 »

  1.   

    你用send,看样子是TCP类型,是否应该用Recv函数,感觉上你用的函数乱套了,你可以找《Window网络编程技术》看看
      

  2.   

    用WSAAsyncSelect函数,详细用法可查MSDN
      

  3.   

    我没有用错,是我写的不清楚。
    我是用sendto,然后用recvfrom!问: tangdl(我要混分,我要当高手) 
    我怎么确认数据会发出?
      

  4.   

    还有,我如何设置Socket的Timeout属性,我看了setsockopt,但是不明白
      

  5.   

    sendto,recvfrom 就用于UDP协议!
      

  6.   

    既然是sendto的话,那我没话可说了(我以上的推测皆是针对TCP而言的),这种情况下,你就只好确认对方会回应你才能调用recvfrom,建议开专门线程接收数据或使用异步模式(也即flyer_2001所说),等等,反正就你字面上的意思理解,你的程序即使写成也非常脆弱,具体实现可参考《Window网络编程技术》
      

  7.   

    问: tangdl(我要混分,我要当高手) 
    我怎么确认数据会发出?程序中:请查看函数返回值,MSDN有详细说明
    程序外:Windows有网络监视程序,但我没用过(我用自己写的^_^),你可以找个Ipmon之类的软件监测
      

  8.   

    用select()函数,加上一个timeout,就可以在你那个socket有事件就是有消息到达时,得到通知了,这样就可以接收数据了