def connect(self): """Connect to the host and port specified in __init__.""" msg = "getaddrinfo returns an empty list" for res in socket.getaddrinfo(self.host, self.port, 0, socket.SOCK_STREAM): af, socktype, proto, canonname, sa = res try: self.sock = socket.socket(af, socktype, proto) # self.sock = asyncio.SocketDispatcher() # self.sock.create_socket(af, socktype, proto) if self.debuglevel > 0: print "connect: (%s, %s)" % (self.host, self.port) self.sock.connect(sa) except socket.error, msg: if self.debuglevel > 0: print 'connect fail:', (self.host, self.port) if self.sock: self.sock.close() self.sock = None continue break
if ip_val < 10: prefix = prefix + "00" elif ip_val < 100: prefix = prefix + "0" else: pass plimPort = prefix + str(ip_val) except IndexError, msg: raise RuntimeError, "Plim Ip address invalid %s." %msg if self.log: self.log.write("Creating socket server for port %s.\n" %plimPort) try: sockArgs = socket.getaddrinfo(localhost, int(plimPort), socket.AF_UNSPEC, socket.SOCK_STREAM, 0, socket.AI_PASSIVE)[0] af, socktype, proto, canonname, sa = sockArgs except: raise RuntimeError, \ "Xoom.send_command: Failed to retrieve socket args %s." try: self.sock = socket.socket(af, socktype, proto) self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) except socket.error, msg: raise RuntimeError, \ "Xoom.send_command: Failed to create socket %s." %msg try: self.sock.bind(sa) self.sock.listen(1)