/docs/source/guides/server.py

https://bitbucket.org/prologic/circuits/ · Python · 26 lines · 16 code · 9 blank · 1 comment · 2 complexity · 9f6eae5bf6a5c87833ff63dba4d46ecc MD5 · raw file

  1. #!/usr/bin/env python
  2. from circuits import Component
  3. from circuits.net.sockets import TCPServer, Write
  4. class Server(Component):
  5. def __init__(self, host, port=8000):
  6. super(Server, self).__init__()
  7. self._clients = []
  8. TCPServer((host, port)).register(self)
  9. def connect(self, sock, host, port):
  10. self._clients.append(sock)
  11. def disconnect(self, sock):
  12. self._clients.remove(sock)
  13. def read(self, sock, data):
  14. for client in self._clients:
  15. if not client == sock:
  16. self.fire(Write(client, data.strip()))
  17. Server("localhost").run()