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