DebugClients/Python/DebugClientBase.py

changeset 1179
7661ab683f7b
parent 1112
8a7d1b9d18db
child 1183
4285148ea20f
equal deleted inserted replaced
1177:5249187bb668 1179:7661ab683f7b
1059 @param redirect flag indicating redirection of stdin, stdout and stderr (boolean) 1059 @param redirect flag indicating redirection of stdin, stdout and stderr (boolean)
1060 """ 1060 """
1061 if remoteAddress is None: # default: 127.0.0.1 1061 if remoteAddress is None: # default: 127.0.0.1
1062 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 1062 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
1063 sock.connect((DebugProtocol.DebugAddress, port)) 1063 sock.connect((DebugProtocol.DebugAddress, port))
1064 elif ":" in remoteAddress: # IPv6 1064 else:
1065 sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) 1065 if "@@i" in remoteAddress:
1066 sock.connect((remoteAddress, port)) 1066 remoteAddress, index = remoteAddress.split("@@i")
1067 else: # IPv4 1067 else:
1068 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 1068 index = 0
1069 sock.connect((remoteAddress, port)) 1069 if ":" in remoteAddress: # IPv6
1070 printerr(type(remoteAddress))
1071 printerr(type(port))
1072 sockaddr = socket.getaddrinfo(
1073 remoteAddress, port, 0, 0, socket.SOL_TCP)[0][-1]
1074 sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
1075 sockaddr = sockaddr[:-1] + (int(index),)
1076 sock.connect(sockaddr)
1077 else: # IPv4
1078 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
1079 sock.connect((remoteAddress, port))
1070 1080
1071 self.readstream = AsyncFile(sock, sys.stdin.mode, sys.stdin.name) 1081 self.readstream = AsyncFile(sock, sys.stdin.mode, sys.stdin.name)
1072 self.writestream = AsyncFile(sock, sys.stdout.mode, sys.stdout.name) 1082 self.writestream = AsyncFile(sock, sys.stdout.mode, sys.stdout.name)
1073 self.errorstream = AsyncFile(sock, sys.stderr.mode, sys.stderr.name) 1083 self.errorstream = AsyncFile(sock, sys.stderr.mode, sys.stderr.name)
1074 1084
1823 if args[0] == '-h': 1833 if args[0] == '-h':
1824 host = args[1] 1834 host = args[1]
1825 del args[0] 1835 del args[0]
1826 del args[0] 1836 del args[0]
1827 elif args[0] == '-p': 1837 elif args[0] == '-p':
1828 port = long(args[1]) 1838 port = int(args[1])
1829 del args[0] 1839 del args[0]
1830 del args[0] 1840 del args[0]
1831 elif args[0] == '-w': 1841 elif args[0] == '-w':
1832 wd = args[1] 1842 wd = args[1]
1833 del args[0] 1843 del args[0]
1870 self.noencoding = True 1880 self.noencoding = True
1871 del sys.argv[1] 1881 del sys.argv[1]
1872 if sys.argv[1] == '': 1882 if sys.argv[1] == '':
1873 del sys.argv[1] 1883 del sys.argv[1]
1874 try: 1884 try:
1875 port = long(sys.argv[1]) 1885 port = int(sys.argv[1])
1876 except (ValueError, IndexError): 1886 except (ValueError, IndexError):
1877 port = -1 1887 port = -1
1878 try: 1888 try:
1879 redirect = int(sys.argv[2]) 1889 redirect = int(sys.argv[2])
1880 except (ValueError, IndexError): 1890 except (ValueError, IndexError):

eric ide

mercurial