DebugClients/Python3/DebugClientBase.py

branch
5_1_x
changeset 1181
31d20dc43805
parent 936
f6bc16bd4198
child 1306
2136f10a9110
equal deleted inserted replaced
1178:2d22b5ce9384 1181:31d20dc43805
1051 @param redirect flag indicating redirection of stdin, stdout and stderr (boolean) 1051 @param redirect flag indicating redirection of stdin, stdout and stderr (boolean)
1052 """ 1052 """
1053 if remoteAddress is None: # default: 127.0.0.1 1053 if remoteAddress is None: # default: 127.0.0.1
1054 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 1054 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
1055 sock.connect((DebugAddress, port)) 1055 sock.connect((DebugAddress, port))
1056 elif ":" in remoteAddress: # IPv6 1056 else:
1057 sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) 1057 if "@@i" in remoteAddress:
1058 sock.connect((remoteAddress, port)) 1058 remoteAddress, index = remoteAddress.split("@@i")
1059 else: # IPv4 1059 else:
1060 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 1060 index = 0
1061 sock.connect((remoteAddress, port)) 1061 if ":" in remoteAddress: # IPv6
1062 sockaddr = socket.getaddrinfo(
1063 remoteAddress, port, 0, 0, socket.SOL_TCP)[0][-1]
1064 sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
1065 sockaddr = sockaddr[:-1] + (int(index),)
1066 sock.connect(sockaddr)
1067 else: # IPv4
1068 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
1069 sock.connect((remoteAddress, port))
1062 1070
1063 self.readstream = AsyncFile(sock, sys.stdin.mode, sys.stdin.name) 1071 self.readstream = AsyncFile(sock, sys.stdin.mode, sys.stdin.name)
1064 self.writestream = AsyncFile(sock, sys.stdout.mode, sys.stdout.name) 1072 self.writestream = AsyncFile(sock, sys.stdout.mode, sys.stdout.name)
1065 self.errorstream = AsyncFile(sock, sys.stderr.mode, sys.stderr.name) 1073 self.errorstream = AsyncFile(sock, sys.stderr.mode, sys.stderr.name)
1066 1074

eric ide

mercurial