gpt4 book ai didi

sockets - 为什么不允许将套接字精确绑定(bind)到多个端口?

转载 作者:行者123 更新时间:2023-12-03 11:59:58 28 4
gpt4 key购买 nike

为什么存在这个限制?其技术原因是什么?

AFAIU,引入端口是为了区分同一主机的设施(服务、连接等),所以逻辑上限制是合理的。然而,SO_REUSEADDR 的存在是为了允许一个端口到多个套接字的绑定(bind),而不是反过来。这看起来很实用,因为它可以避免浪费在多路复用上的系统调用;许多 SO 问题都在寻求(徒劳地)一种方法来做到这一点。但缺乏实现表明存在一些我无法想象的障碍。

最佳答案

原因是 UDP 和 TCP 连接是基于 IP 端口对的。这就是堆栈在内部确定什么是什么的方式。

如果我们有多个端口到一个端口,则需要一些其他机制来锁定连接,以便将正确的数据传送到正确的应用程序线程/ session 。

关于sockets - 为什么不允许将套接字精确绑定(bind)到多个端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30621405/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com