TCP模式下socket通讯的监听套接字与通讯套接字是分开的,accept函数返回的是通讯套接字,那么问题是accpet返回的这个套接字绑定的端口是在哪里定的,如果是客户机的sockaddr定的,那么与监听套接字绑定的端口就有可能重复,这时候会不会出现错误!!

解决方案 »

  1.   

    绑定的端口自然是监听套接字监听的端口,别的端口这个监听socket也听不到啊。
      

  2.   

    thanks,你的意思是监听与数据传输都用的是一个端口,只是用了不同套接字而已?
      

  3.   

    如 kugou123(酷狗) 所说,监听套接字只用于监听,不用与发送和接受数据。
    客户端与服务器端的通讯过程是这样的:
    首先,客户端connect服务器的监听端口。
          服务器发现有客户端尝试连接时,会随机分配一个端口与客户端连接。
          这样,就建立起了连接,以后用这一连接来完成双方的通讯。
      

  4.   

    随机分配?TCP协议下的端口应该是固定的吧