def start_connection(host, port, request): addr = (host, port) my_logger.log("starting connection to {}".format(addr)) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setblocking(False) sock.connect_ex(addr) events = selectors.EVENT_READ | selectors.EVENT_WRITE message = libclient.Message(sel, sock, addr, request) sel.register(sock, events, data=message) try: while True: events = sel.select(timeout=1) for key, mask in events: message = key.data try: message.process_events(mask) except Exception: print( "main: error: exception for", f"{message.addr}:\n{traceback.format_exc()}", ) message.close() # Check for a socket being monitored to continue. if not sel.get_map(): break except KeyboardInterrupt: print("caught keyboard interrupt, exiting") finally: pass
def start_connection(host, port, request): addr = (host, port) print('starting connection to', addr) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setblocking(False) sock.connect_ex(addr) events = selectors.EVENT_READ | selectors.EVENT_WRITE message = libclient.Message(sel, sock, addr, request) sel.register(sock, events, data=message)
def start_connection(start_host, start_port, start_request): addr = (start_host, start_port) print("starting connection to", addr) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setblocking(False) sock.connect_ex(addr) start_events = selectors.EVENT_READ | selectors.EVENT_WRITE start_message = libclient.Message(sel, sock, addr, start_request) sel.register(sock, start_events, data=start_message)
def start_connection(self, request): self.sel = selectors.DefaultSelector() self.addr = (self.host, self.port) self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock.setblocking(False) self.sock.connect_ex(self.addr) self.events = selectors.EVENT_READ | selectors.EVENT_WRITE self.message = libclient.Message(self.sel, self.sock, self.addr, request) self.sel.register(self.sock, self.events, data=self.message)
def start_connection(host, port): global message addr = (host, port) print("starting connection to", addr) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setblocking(False) sock.connect_ex(addr) events = selectors.EVENT_READ | selectors.EVENT_WRITE message = libclient.Message(sel, sock, addr, ex) sel.register(sock, events, data=message) ex.timer.start(500) return sock
if len(sys.argv) != 3: print("usage:", sys.argv[0], "<host> <port> ") sys.exit(1) host, port = sys.argv[1], int(sys.argv[2]) data = my_comp_perf.performance_info() addr = (host, port) print("starting connection to", addr) sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM) # A TCP socket(socket.SOCK_STREAM) in IPV4(AF_INET) sock.setblocking(False) # set the socket in non blocking mode sock.connect_ex( addr) #for connecting with the server without raising exception events = selectors.EVENT_WRITE # mask is set for both read and write -changed only to write message = libclient.Message(sel, sock, addr, data) #class instance creation sel.register(sock, events, data=message) #select register for asynchronous signaling try: while True: events = sel.select(timeout=1) time.sleep(1.0) message.request = my_comp_perf.performance_info() for key, mask in events: message = key.data try: message.process_events(mask) except Exception: print( "main: error: exception for",