def create_connection(sock: socket, port: int, host: str) -> socket:
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # solution for: "socket.error: [Errno 98] Address already in use"
    sock.bind((host, port))
    sock.listen(5)
    connection, client_address = sock.accept() # accept connection returns tuple
    print("Got connection from ", client_address)
    return connection
Example #2
0
 def __init_socket(self, sock: socket) -> int:
     sock.setblocking(False)
     sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, self.buffer_size)
     sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, self.buffer_size)
     sock_fd = sock.detach()
     return sock_fd
Example #3
0
 def _setupsocket(s: socket) -> None:
     s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, True)
     s.setblocking(False)