diff -r 2d22b5ce9384 -r 31d20dc43805 DebugClients/Python3/DebugClientBase.py --- a/DebugClients/Python3/DebugClientBase.py Sun Jul 17 11:22:05 2011 +0200 +++ b/DebugClients/Python3/DebugClientBase.py Sun Jul 17 18:10:54 2011 +0200 @@ -1053,12 +1053,20 @@ if remoteAddress is None: # default: 127.0.0.1 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((DebugAddress, port)) - elif ":" in remoteAddress: # IPv6 - sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) - sock.connect((remoteAddress, port)) - else: # IPv4 - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - sock.connect((remoteAddress, port)) + else: + if "@@i" in remoteAddress: + remoteAddress, index = remoteAddress.split("@@i") + else: + index = 0 + if ":" in remoteAddress: # IPv6 + sockaddr = socket.getaddrinfo( + remoteAddress, port, 0, 0, socket.SOL_TCP)[0][-1] + sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) + sockaddr = sockaddr[:-1] + (int(index),) + sock.connect(sockaddr) + else: # IPv4 + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.connect((remoteAddress, port)) self.readstream = AsyncFile(sock, sys.stdin.mode, sys.stdin.name) self.writestream = AsyncFile(sock, sys.stdout.mode, sys.stdout.name)