Skip to content

Instantly share code, notes, and snippets.

@tiagocoutinho
Last active August 29, 2024 14:43
Show Gist options
  • Save tiagocoutinho/f5536ecb40d048b71919c231b50e7640 to your computer and use it in GitHub Desktop.
Save tiagocoutinho/f5536ecb40d048b71919c231b50e7640 to your computer and use it in GitHub Desktop.
python single client echo server accept
import socket
import select
serv = socket.create_server(("", 10_010))
readers = {serv}
while True:
ready, _, _ = select.select(readers, (), ())
if serv in ready:
client, addr = serv.accept()
serv.close()
readers = {client}
continue
assert client in ready and len(ready) == 1
reset = False
request = client.recv(1024)
if request:
try:
client.sendall(request)
except OSError as error:
print(f"write error on client: {error!r}")
reset = True
else:
print("client disconnected")
reset = True
if reset:
client.close()
serv = socket.create_server(("", 10_010))
readers = {serv}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment