我写的windows socket服务器,因为要不断接受客户端传来的比较大的文件,如果客户端不同的传来包,服务器网卡的使用率就达到了99%,这样有些客户端的数据就收不到了,如何才能控制网卡的利用率,在利用率达到8%-90%的时候,让网卡的利用率降下来。

解决方案 »

  1.   

    是想要做流量控制?NDIS ?
      

  2.   

    服务器接收不到某个客户端的数据包, 自然也就代表这个客户端丢包了嘛...
    丢包的时候, 不是等待服务器返回错误给客户端的, 而是客户端主动询问服务器某些包有没有丢掉吧..
    再说, 只有在使用UDP的情况下, 才会出现这种问题,  TCP内部自动分配好窗口大小, 不会说一个客户端把所有资源占用掉的
      

  3.   

    会不会占满你测试下就知道了,现在的问题的根本是想办法防止丢失,而不是让客户去询问服务器,要是这样就不用TCP了。
      

  4.   

    用TCP会占满的么? 怎么我的不会的....还是会平均分配的
      

  5.   

    同步应该不会吧,我用的异步,在IOCP等待结果。