我希望能够在Python中运行一个程序,通过WebSockets每秒发送一条消息到Tornado服务器。我一直在使用websocket-client上的例子;
这个例子不起作用,因为ws.run_forever()
会停止while循环的执行。
有人可以给我提供一个示例,说明如何正确实现这个作为线程类,我既可以调用发送方法,也可以接收消息吗?
import websocket
import thread
import time
def on_message(ws, message):
print message
def on_error(ws, error):
print error
def on_close(ws):
print "### closed ###"
def on_open(ws):
pass
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("ws://echo.websocket.org/", on_message = on_message, on_error = on_error, on_close = on_close)
ws.on_open = on_open
ws.run_forever()
while True:
#do other actions here... collect data etc.
for i in range(100):
time.sleep(1)
ws.send("Hello %d" % i)
time.sleep(1)