def __init__(self, port): threading.Thread.__init__(self) localhost = ip_addr.get_local_addr() if not localhost: localhost = '127.0.0.1' # only for offline tests print('unable to find local ip address, use internall loopback instead') self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # prevent from 'address already in use' self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.server.bind((localhost, port)) self.server.listen(5) self.server.setblocking(True) self.threadlock = threading.Lock()
def __init__(self, port): threading.Thread.__init__(self) localhost = ip_addr.get_local_addr() if not localhost: localhost = '127.0.0.1' # only for offline tests print( 'unable to find local ip address, use internall loopback instead' ) self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # prevent from 'address already in use' self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.server.bind((localhost, port)) self.server.listen(5) self.server.setblocking(True) self.threadlock = threading.Lock()
## serveur ## import ssl, socket, ip_addr localhost = ip_addr.get_local_addr() port = 30000 serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serv.bind((localhost, port)) serv.listen(5) client, addr = serv.accept() tunnel = ssl.wrap_socket(client, server_side=True, keyfile="truc.key", certfile="truc.crt") tunnel.send('truc en boite'.encode()) ## client ## import ssl, socket, ip_addr remotehost = ip_addr.get_local_addr() port = 30000 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((remotehost, port)) tunnel, addr = ssl.wrap_socket(client) tunnel.recv(1024).decode()