Files
tcp_client_tests/tcp_client_split_call.py

42 lines
1.0 KiB
Python

#!/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: " + tcp_server_adress.encode() + b"\r\n\r\n")
sock.sendall(request.)
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)
request = tcp_server_adress.encode() + "\r\n\r\n"
sock.sendall(request)
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)