client.py 1010 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env python
  2. import sys
  3. import ssl
  4. from os.path import abspath, dirname
  5. basepath = abspath(dirname(abspath(__file__)) + '/..')
  6. sys.path.insert(0, basepath)
  7. from websocket import websocket
  8. from connection import Connection
  9. from message import TextMessage
  10. ADDR = ('localhost', 8000)
  11. class EchoClient(Connection):
  12. def onopen(self):
  13. print 'Connection established, sending "foo"'
  14. self.send(TextMessage('foo'))
  15. def onmessage(self, msg):
  16. print 'Received', msg
  17. self.close(None, 'response received')
  18. def onerror(self, e):
  19. print 'Error:', e
  20. def onclose(self, code, reason):
  21. print 'Connection closed'
  22. if __name__ == '__main__':
  23. secure = '-s' in sys.argv[1:]
  24. scheme = 'wss' if secure else 'ws'
  25. print 'Connecting to %s://%s' % (scheme, '%s:%d' % ADDR)
  26. sock = websocket()
  27. if secure:
  28. sock.enable_ssl(ca_certs='cert.pem', cert_reqs=ssl.CERT_REQUIRED)
  29. sock.connect(ADDR)
  30. EchoClient(sock).receive_forever()