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
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
def _setupsocket(s: socket) -> None: s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, True) s.setblocking(False)