import websocket | |
from threading import Thread | |
import time | |
import sys | |
def on_message(ws, message): | |
print(message) | |
def on_error(ws, error): | |
print(error) | |
def on_close(ws): | |
print("### closed ###") | |
def on_open(ws): | |
def run(*args): | |
for i in range(3): | |
# send the message, then wait | |
# so thread doesn't exit and socket | |
# isn't closed | |
ws.send("Hello %d" % i) | |
time.sleep(1) | |
time.sleep(1) | |
ws.close() | |
print("Thread terminating...") | |
Thread(target=run).start() | |
if __name__ == "__main__": | |
websocket.enableTrace(True) | |
if len(sys.argv) < 2: | |
host = "ws://echo.websocket.org/" | |
else: | |
host = sys.argv[1] | |
ws = websocket.WebSocketApp(host, | |
on_message=on_message, | |
on_error=on_error, | |
on_close=on_close) | |
ws.on_open = on_open | |
ws.run_forever() |