服务端,当有连接时,直接accept就可以创建出多个socket交给各个线程处理。但是客户端,怎么让多个socket使用同一个端口呢?晕了

解决方案 »

  1.   

    设置套接字的SOL_REUSEADDR属性。
      

  2.   

    使用SOL_REUSEADDR就可以使多个连接使用相同的端口(条件是远程主机IP不同,或端口不同)
      

  3.   

    确实没有必要,
    一般服务器端,要监听客户端的连接,就只能使用固定端口来监听
    而对于客户端,没必要使用固定端口如果非要使用固定端口,在连接同一个服务器时,必须连接服务器的不同端口,
    否则会被服务器端拒绝。tcp每一条连接都是通过连接两端的 “ip地址+端口号” 来区分的。