Esempio n. 1
0
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
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
 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)
Esempio n. 5
0
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
Esempio n. 6
0
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",