适用于Windows的双插槽

时间:2010-01-21 11:22:05

标签: windows sockets

在Unix上,可以使用单个套接字用于IPv6和IPv4(双模式)。在Windows上,这不受支持。是否有人使用相同的Windows套接字实现相同的解决方案。

2 个答案:

答案 0 :(得分:5)

检查http://msdn.microsoft.com/en-us/library/bb513665(VS.85).aspx

双堆栈套接字

为了在带有Service Pack 1(SP1)的Windows XP和Windows Server 2003上同时支持IPv4和IPv6 ,应用程序必须创建两个套接字,一个用于IPv4的套接字和一个用于与之配合使用的套接字IPv6的即可。这两个插座必须由应用程序单独处理。

Windows Vista及更高版本提供了创建可以处理IPv6和IPv4流量的单个IPv6套接字的功能。例如,创建用于IPv6的TCP侦听套接字,将其置于双堆栈模式,并绑定到端口5001.此双栈套接字可以接受来自连接到端口5001的IPv6 TCP客户端和连接到端口5001的IPv4 TCP客户端的连接。此功能允许大大简化应用程序设计,并减少在两个单独的套接字上发布操作所需的资源开销。

HTH

答案 1 :(得分:0)

.NET Framework 4.5现在具有双模式支持。