我有一个 ipv4 服务器,它只接受通过本地主机的连接(使用INADDR_LOOPBACK)。我想将此服务器转换为双栈 ipv6/ipv4。但是,使用in6addr_loopback仅接受到 的连接::1。
我发现我可以使用同时接受 ipv4 和 ipv6 连接in6addr_any,但是因为这也允许来自任何地方的连接,所以它对我的特定情况没有用处。
是否可以同时绑定到 ipv6 localhost ( ::1) 和 ipv4 localhost ( 127.0.0.1) ?
AFAIK,那是不可能的。
您需要做的是创建两个套接字,一个绑定到 INADDR_LOOPBACK,另一个绑定到 in6addr_loopback。然后,您可以使用您选择的多路复用器(poll、select、epoll 等)同时等待它们。
更新
只是想出了一些您可能需要考虑的解决方法。在这两种解决方法中,您都绑定到in6addr_any.
| 归档时间: |
|
| 查看次数: |
4024 次 |
| 最近记录: |