From 4d145e3ffae60fa007f547c21e5b4eb8998de60a Mon Sep 17 00:00:00 2001 From: Martin Petersson Date: Tue, 3 Jul 2012 10:46:36 +0200 Subject: SocketEngine Windows: If not dual stack, use IPv4 for AnyIPProtocol If the Windows version doesn't support dual stack then we should bind to IPv4. So we should change the socketProtocol to QAbstractSocket::IPv4Protocol as well. Change-Id: I7f9d0bdd861f82d720e347d3fa968198de720d1a Reviewed-by: Shane Kearns --- src/network/socket/qnativesocketengine_win.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/network/socket/qnativesocketengine_win.cpp') diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp index 8b354a8c50..74983d2109 100644 --- a/src/network/socket/qnativesocketengine_win.cpp +++ b/src/network/socket/qnativesocketengine_win.cpp @@ -793,7 +793,10 @@ bool QNativeSocketEnginePrivate::nativeBind(const QHostAddress &a, quint16 port) ipv6only = ::setsockopt(socketDescriptor, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&ipv6only, sizeof(ipv6only) ); else #endif + { address = QHostAddress(QHostAddress::AnyIPv4); //xp/WS2003 and earlier don't support dual stack, so bind to IPv4 + socketProtocol = QAbstractSocket::IPv4Protocol; + } break; default: break; -- cgit v1.2.3