53 lines
1.1 KiB
Python
53 lines
1.1 KiB
Python
import websocket
|
|
try:
|
|
import thread
|
|
except ImportError: #TODO use Threading instead of _thread in python3
|
|
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 doesnt exit and socket
|
|
# isnt closed
|
|
ws.send("Hello %d" % i)
|
|
time.sleep(1)
|
|
|
|
time.sleep(1)
|
|
ws.close()
|
|
print("Thread terminating...")
|
|
|
|
try:
|
|
thread.start_new_thread(run, ())
|
|
except:
|
|
_thread.start_new_thread(run, ())
|
|
|
|
|
|
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()
|