5 changed files with 55 additions and 1 deletions
@ -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()) |
|||
@ -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()) |
|||
@ -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)) |
|||
while True: |
|||
data = s.recv(1024) |
|||
if not data: |
|||
break |
|||
print(data.decode()) |
|||
time.sleep(3) |
|||
s.sendall('Message after server write end close'.encode()) |
|||
@ -0,0 +1,15 @@ |
|||
import socket |
|||
|
|||
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: |
|||
conn.sendall('I am closing the write end, but I can still receive data'.encode()) |
|||
conn.shutdown(socket.SHUT_WR) |
|||
while True: |
|||
data = conn.recv(1024) |
|||
if not data: |
|||
break |
|||
print(data.decode()) |
|||
Loading…
Reference in new issue