sock = get_sock() print("waiting for server") sleep(1) except OSError as err: print("OSError", err) sock = get_sock() sock = client(sock, "127.0.0.1", 1234) close_conn = False while close_conn == False: try: rd, wd, ed = select.select([sock, sys.stdin],[],[]) if sys.stdin in rd: key_text = nonblocking_readline() if key_text != "": encoded_text = key_text.encode('utf-8') bytessent = sock.send(encoded_text) print("sent ", bytessent, "bytes") if sock in rd: received_bytes = sock.recv(1024) if len(received_bytes) == 0: close_conn = True else: net_text = received_bytes.decode('utf-8') print(">>", net_text) except (EOFError, KeyboardInterrupt, BrokenPipeError): close_conn = True
client_sock, addr = sock.accept() print("Got an incoming connection from ", addr) return client_sock listener_sock = get_sock() server(listener_sock, 1234) while True: print("listening for incoming connection...") sock = accept_new_connection(listener_sock) sock.setblocking(False) close_conn = False while close_conn == False: try: key_text = nonblocking_readline() except (EOFError, KeyboardInterrupt): close_conn = True if key_text != "": encoded_text = key_text.encode('utf-8') try: bytessent = sock.send(encoded_text) print("sent ", bytessent, "bytes") except BrokenPipeError as err: close_conn = True try: received_bytes = sock.recv(1024) if len(received_bytes) == 0: close_conn = True
print ("Waiting for server") except OSError as err: print("OSERROR: " ,err) # ___________________________MAIN FUNCTION________________________________ sock = get_sock() sock = client(sock, "127.0.0.1", 1234) #communication with the local device sock.setblocking(False) close_connect = False while close_connect == False: try: key_text = nonblocking_readline() # need define another function except (EOFError, KeyboardInterrupt): close_connect = True if key_text != "": # if sent empty data to the clinet --- close the connection encode_text = key_text.encode('utf-8') try: bytessent = sock.send(encode_text) print ("sent ", bytessent, "bytes") except BrokenPipeError as err: close_connect = True try: received_bytes = sock.recv(1024) if len(received_bytes) == 0: # receive nothing