fork download
  1. # multiconn-client.py
  2.  
  3. import sys
  4. import socket
  5. import selectors
  6. import types
  7.  
  8. sel = selectors.DefaultSelector()
  9. messages = [b"Message 1 from client.", b"Message 2 from client."]
  10.  
  11. def start_connections(host, port, num_conns):
  12. server_addr = (host, port)
  13. for i in range(0, num_conns):
  14. connid = i + 1
  15. print(f"Starting connection {connid} to {server_addr}")
  16. sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  17. sock.setblocking(False)
  18. sock.connect_ex(server_addr)
  19. events = selectors.EVENT_READ | selectors.EVENT_WRITE
  20. data = types.SimpleNamespace(
  21. connid=connid,
  22. msg_total=sum(len(m) for m in messages),
  23. recv_total=0,
  24. messages=messages.copy(),
  25. outb=b"",
  26. )
  27. sel.register(sock, events, data=data)
  28.  
  29. # ...
Success #stdin #stdout 0.04s 9268KB
stdin
Standard input is empty
stdout
Standard output is empty