talk.py 1007 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env python
  2. import sys
  3. import socket
  4. from websocket import websocket
  5. from connection import Connection
  6. from message import TextMessage
  7. from errors import SocketClosed
  8. if __name__ == '__main__':
  9. if len(sys.argv) < 3:
  10. print >> sys.stderr, 'Usage: python %s HOST PORT' % sys.argv[0]
  11. sys.exit(1)
  12. host = sys.argv[1]
  13. port = int(sys.argv[2])
  14. sock = websocket()
  15. sock.connect((host, port))
  16. sock.settimeout(1.0)
  17. conn = Connection(sock)
  18. try:
  19. try:
  20. while True:
  21. msg = TextMessage(raw_input())
  22. print 'send: %s', msg
  23. conn.send(msg)
  24. try:
  25. print 'recv: %s' % conn.recv()
  26. except socket.timeout:
  27. print 'no response'
  28. except EOFError:
  29. conn.close()
  30. except SocketClosed as e:
  31. if e.initialized:
  32. print 'closed connection'
  33. else:
  34. print 'other side closed connection'