服务器端做好了一个响应
客户端要作的是将一个1-200这两百个数字发送给服务器
这样客户端就会源源不断的接收服务器不同的响应
比如发送1,服务器响应aaaa,333
发送2    服务器响应33333,
而且随着时间的变化,响应的信息也不同,但有一点就是服务器端是不永远不定期有数据的,这200
个数字也是要同时发送的,也就是说要不停的得到服务器同时返回的这两百个响应;这样我的客户端该怎么实现呢?
是要建立200个线程,同时每个线程发送一个数字,然后再处理响应吗????
这样的化,客户端的机器能承受的了吗??
该怎么样实现呢????
谢谢了

解决方案 »

  1.   

    阻塞模式  尝试数/连接成功数  线程
              7000/1008          2016
    非阻塞    7000/4011          1
    完成端口  7000/7000          2
    数据来自WINDOWS网络编程(第2版)P154
      

  2.   

    创建200个线程是没有问题的,只不过效率上推荐使用完成端口
    可以参考小猪的blog
      

  3.   

    用select网络事件通知吧,线程开太多,如果同步稍微处理的不好,就容易崩溃。要小心呢。所谓同时发送两百个数据,我看很抽象,不如在服务器端接受数据的时候,在其上封装一层,分析和判断两百个同时发送的数据,这样的话,岂不是可以减少在客户端的线程数目,减少开支?个人觉得网络协议做好点,增加点对数据流的分析,比开200个线程合算的多,不是什么问题都只能用多线程解决的 :)
      

  4.   

    用eventselect模型,200个套接字5个线程足够,不一定非要用完成端口。
    杀鸡何须宰牛刀?