我最近刚学socket 自己做了个服务程序接收到指定端口的数据,可是发现用这个socket接到得比用sniffer截获的少,很纳闷,先问socket 在接发数据包时是否可以设置时间间隔,因为我发现我丢得那个要接收的数据包刚好和我发送数据包在同一时刻,是不是这两个冲突了,还有就是系统报错10054。
麻烦各位帮我解决一下,刚学好不懂,谢谢了!

解决方案 »

  1.   

    建议你看看《windows 网络编程》第二版
    你是不是用了一个辅助线程来接收数据 ?
    你可以把睡眠的时间调整一下
    你把你代码贴出来 ,不知道你是用什么方法实现的
      

  2.   

    UDP协议?还是TCP?不要发太快,每次发送后,sleep一下
      

  3.   

    sniffer可能是拦截到了以太封包等,你的程序没办法挂钩到.
      

  4.   

    我也估计你发得太快了。服务端来不及处理。
    缓冲区默认为8192byte。
    每发送一次,sleep(10)试试看。
      

  5.   

    我也是过sleep但是还是不行,谢谢各位了