为什么存在此限制?它的技术原因是什么?
引入AFAIU端口以区分同一主机的设施(服务,连接等),因此逻辑上该限制是合理的。但是,SO_REUSEADDR
存在允许一个端口到多个套接字绑定,但不是相反。这似乎很实用,因为它可以避免系统调用浪费多路复用;许多SO问题(无果而终地)寻求一种方法。但缺乏实施表明存在一些我无法想象的障碍。
答案 0 :(得分:1)
原因是UDP和TCP连接基于IP端口对进行了密钥连接。这就是堆栈如何计算内部的内容。
如果我们有多个端口,则需要一些其他机制来锁定连接,以便将正确的数据传递给正确的应用程序线程/会话。