本帖最后由 VisualEleven 于 2011-05-17 15:27:15 编辑

解决方案 »

  1.   

    你的问题就是服务器端维护客户端的SOCKET链表,怎么在这个链表中找到指定的节点?即用什么数据结构来存储这个客户端的SOCKET句柄,是不?
      

  2.   

    用链表,用map都可以,你都可以用在这个里面保存的相关信息,比如ip,name,id都相关细心找到你要发送信息的socket句柄,然后调用send函数。
      

  3.   

    谢谢各位的回复。刚才又逛了下坛子。发现可能用IOCP会好些。因为我这里服务器的连接数成千上万。如果用链表效率太低了!
      

  4.   

    iocp 啥网络引擎我都实现了... 上千连接.收发无问题.
      

  5.   

    http://hi.baidu.com/lateblue/blog/item/97161bde1186ef1a48540364.html
      

  6.   

    为什么不用UDP协议,用一个数据库存储就行了。
      

  7.   

    我想的是开个线程做转发工作一个线程做链表维护,,两个线程共用这个链表,链表结构包含要发送到的IP,内容~~~~~~~~~,前提是对方已经与服务器连接过了~~~~UDP,把数据扔过去,,收不收得到,不管了~~~~~~
      

  8.   


    我目前只把select_threadpool 和WSASynSelect两个sock io模型封装成dll发布了.名字叫轻量级styleman_network网络引擎. 我资源里有. iocp,以及增强版select_threadpool ,WSASynSelect 的新架构和udp引擎还未发布,先自己留着用 = =! 我现在在linux下编程.
    把linux的select_threadpool我也封装好了.800个连接.每秒每连接的4KB的收发,服务器无鸭梨.我还有很多功能没有加. 比如数据包压缩/加密 等