woj*_*kip 3 c++ sockets networking network-programming tcp
我想知道,多个应用程序如何使用相同的网络端口.TCP协议1端口中的AFAIK被分配给1个套接字连接.那么,例如,多个互联网浏览器如何同时使用端口80/8080?我可以将多个套接字绑定到同一个端口吗?我怎么能用C++做到这一点?
套接字连接由其本地IP:端口和远程IP:端口的组合唯一标识.多个应用程序可以绑定到同一本地IP:端口,只要它们分别连接到不同的远程IP:端口即可.
如果本地IP:端口已绑定用于侦听(bind()并且listen()已被调用),则其他套接字仍bind()可以使用相同的本地IP:端口,但仅限于使用SO_REUSEADDR(在某些平台上SO_REUSEPORT)套接字选项.否则,bind()失败并显示"已在使用中"错误.
当多个客户端套接字连接connect()到同一远程IP:端口时,通常不指定本地绑定,这允许connect()对bind()随机可用的本地IP 执行隐式:端口以避免与其他连接冲突.如果bind()显式调用并成功,然后connect()调用以连接到远程IP:已连接到本地IP:端口的端口connect()将失败.
| 归档时间: |
|
| 查看次数: |
5330 次 |
| 最近记录: |