Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fe282a980d |
56
tcp_client_split_call.py
Normal file → Executable file
56
tcp_client_split_call.py
Normal file → Executable file
@ -1,10 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
#!/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():
|
||||
def print_sock_ctts(sock):
|
||||
buffer = b""
|
||||
data = sock.recv(4096)
|
||||
while data:
|
||||
@ -13,32 +15,36 @@ def print_sock_ctts():
|
||||
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)
|
||||
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
client.connect((f'{tcp_server_adress}', 8000))
|
||||
t1 = timeit.default_timer()
|
||||
function()
|
||||
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)
|
||||
|
||||
client_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
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()
|
||||
|
||||
time_test(test_request_single_packet)
|
||||
time_test(test_request_split_packet)
|
||||
print(t2-t1)
|
||||
|
||||
|
||||
test_request_single_packet()
|
||||
print("\n\t---\n")
|
||||
time.sleep(1)
|
||||
test_request_split_packet()
|
||||
|
||||
Reference in New Issue
Block a user