Add manual tests for half open connections

This commit is contained in:
B. Blechschmidt 2023-04-10 10:57:41 +02:00
parent 2cf7c9cdea
commit 70cea8e11f
5 changed files with 55 additions and 1 deletions

View file

@ -0,0 +1,12 @@
import socket
import time
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect(('116.203.215.166', 1337))
s.sendall('I am closing the write end, but I can still receive data'.encode())
s.shutdown(socket.SHUT_WR)
while True:
data = s.recv(1024)
if not data:
break
print(data.decode())

View file

@ -0,0 +1,16 @@
import socket
import time
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('0.0.0.0', 1337))
s.listen()
conn, addr = s.accept()
with conn:
while True:
data = conn.recv(1024)
if not data:
break
print(data.decode())
time.sleep(3)
conn.sendall('This will still be received by the client that has closed its write end'.encode())