我试了下面的代码,使我的代码在双栈模式下工作。不幸的是,它不是在双栈模式下打开端口。IPAddress.Any和IPAddress.IPv6Any字段有什么区别?
var listener = new TcpListener(IPAddress.Any, 2222);
listener.Server.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, 0);
listener.Start();
后来我意识到改成var listener = new TcpListener(IPAddress.IPv6Any, 2222);
会使它适合我。
IPAddress.Any
和IPAddress.IPv6Any
字段究竟有什么区别?
The documentation on MSDN is a bit vague
使我的代码协议agnost,我可以使用IPAddress.IPv6Any? – sarat 2013-04-30 13:13:19
@sarat:我相信。 – Jon 2013-04-30 13:18:50
是的,你可以,发布更新。 – PhonicUK 2013-04-30 13:35:09