#!/usr/bin/env python import socket import timeit tcp_server_adress = sys.argv[1] # expecting "www.perdu.com" def print_sock_ctts(): buffer = b"" data = sock.recv(4096) while data: buffer += data data = sock.recv(4096) print(buffer.decode()) def test_request_single_packet(): sock.connect((f'{tcp_server_adress}', 80)) request = b"GET / HTTP/1.1\r\nHost: " request.append(tcp_server_adress.encode()) request.append(b"}\r\n\r\n") sock.sendall(request.encode()) print_sock_ctts() sock.close() def test_request_split_packet(): sock.connect((f'{tcp_server_adress}', 80)) request = b"GET / HTTP/1.1\r\nHost: " sock.sendall(request.encode()) request = tcp_server_adress.encode() request.append("\r\n\r\n") sock.sendall(request.encode()) print_sock_ctts() sock.close() def time_test(function) t1 = timeit.default_timer() function() t2 = timeit.default_timer() print(t2-t1) client_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) time_test(test_request_single_packet) time_test(test_request_split_packet)