def client(host, port): sock = reliable_socket() msg = sys.stdin.readline().strip() try: sock.sendto(msg.encode('utf-8'), (host, port)) except RuntimeError: print("Didn't get acknowledgment.")
def server(host, port): sock = reliable_socket() sock.bind((host, port)) print("listening on port %s" % port) while True: data, addr = sock.recvfrom(1024) print("received \"%s\" from %s" % (data.decode('utf-8'), addr))
def send_http_request(self): self.generate_request() try: tcp_socket = reliable_socket() tcp_socket.enable_debugging(False) tcp_socket.connect((self.server, self.port)) tcp_socket.sendall(self.request) server_response = tcp_socket.recv() self.parse_response_and_display_results( server_response.decode("utf-8")) except socket.timeout as timeoutError: print("Socket Timeout : ", timeoutError) except socket.error as error: print("Socket Error : ", error)
def configure_and_start_server(self): tcp_socket = reliable_socket() try: tcp_socket.bind('localhost', server.port) tcp_socket.enable_debugging(True) tcp_socket.listen(10) if server.debugging: print(BgColor.color_green_wrapper("\n Server started on DEBUG mode")) print(BgColor.color_green_wrapper("\n Server started at port: " + str(server.port))) print(BgColor.color_green_wrapper(" Server's working directory set to: " + server.directory + "\n")) except socket.error: print("Socket Error : ", traceback.format_exc()) while True: try: connection, client_address = tcp_socket.accept() self.print_if_debugging_is_enabled(None, "\n") self.print_if_debugging_is_enabled(logger.DEBUG, "client connected from " + str(client_address)) threading.Thread(target=httpfs().handle_client_request, args=(connection, client_address)).start() except (KeyboardInterrupt, Exception): server.print_if_debugging_is_enabled(logger.ERROR, traceback.format_exc()) break
import socket import sys import random import time from reliable_socket import reliable_socket HOST = "localhost" PORT = 5005 rsock = reliable_socket() rsock.bind((HOST, PORT)) print("listening on port %s" % PORT) while True: data, addr = rsock.recvfrom(1024) print("received \"%s\" from %s" % (data, addr))
def sender(): conn = reliable_socket() conn.set_sequence_number(get_max_32bit_integer() - 30) conn.connect(("localhost", 9002)) conn.sendall(content)