服务器要accept多个客户端连接,同时在不调用closesocket()前一个socket的情况下,发送后一个socket的数据。
(即多个客户端socket都是长连接,这些socket并存不closesocket,接受客户端请求切换socket发送数据)问:服务器要监听多少个端口或者有什么方法实现以上功能?
    如果是用异步的话具体要怎么样?

解决方案 »

  1.   

    监听一个端口就可以了,每次有连接过来的时候,在accept后,所得到的socket套接字就是代表一个独立连接(源IP,源端口,目的IP,目的端口这四个元素唯一确定一个连接),每个连接之间的数据传输是互相独立的。
    在实现的时候,你可以对每个连接建立一个对象,把此连接的socket套接字作为其成员,作为此对象的身份ID,然后这个对象可以进行你任何想要的操作。
      

  2.   

    根据四元组(IP/Port)建立HASH表,然后把SOCKET相关信息放入HASH表中就可以了。