1
76
最好的方法是创建一个也可以接受IPv4连接的IPv6服务器套接字。为此,请创建一个常规的IPv6套接字,
远离的
插座选项
不同系统的主要区别在于
此外,Windows XP上的IPv6堆栈不支持该选项。在这些情况下,您需要创建两个单独的服务器套接字,并将它们放入select或多个线程中。 |
2
7
套接字API由IETF RFC管理,并且在所有平台上(包括Windows WRT IPv6)都应相同。
对于IPv4/IPv6应用程序,
所有
关于
它提供了一个直接的
对于UDP实现,我会小心设置双栈套接字,或者更一般地说,绑定到所有接口。(
对于没有问题的UDP实现或TCP,当IPV*启用系统时,双堆栈套接字可以节省大量时间。必须小心不要完全依赖于不完全必要的双栈,因为不缺少使用不支持双栈套接字的IPv6栈部署的合理平台(旧Linux、BSD、Windows 2003)。 |
3
4
我一直在Windows下玩这个游戏,它实际上似乎是一个安全问题,如果您绑定到环回地址,那么ipv6套接字就正确绑定到了[::1],但是映射的ipv4套接字绑定到了inaddr_any,所以您(假设)安全的本地应用程序实际上是向世界公开的。 |
4
3
RFC并没有真正指定是否存在ipv6 v6only socket选项,但是,如果不存在,则RFC很明显,实现应该像该选项为false一样。 如果存在该选项,我会争辩说它应该默认为false,但是由于传递理解的原因,BSD和Windows实现默认为true。有一种奇怪的说法认为这是一个安全问题,因为一个不知情的ipv6程序员可能会认为他们只绑定到in6addr_any(仅针对ipv6),并意外地接受一个ipv4连接,从而导致安全问题。我认为这既牵强又荒谬,除了让任何期待符合RFC实现的人感到惊讶之外。 在Windows中,不遵守通常不会令人惊讶。对于BSD来说,这充其量是不幸的。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |