如何从 websocket(客户端)打印流信息?
Posted
技术标签:
【中文标题】如何从 websocket(客户端)打印流信息?【英文标题】:How to print streaming information from a websocket(client)? 【发布时间】:2016-11-26 02:29:27 【问题描述】:我想使用 websocket 打印流信息。服务器间歇性地发送信息。我在下面的 python 代码中使用while True:
循环打印它。
有没有更好的办法?
from websocket import create_connection
def connect_Bitfinex_trades():
ws = create_connection("wss://api.sample.com:3000/ws")
print "Sent"
while True:
print "Receiving..."
result = ws.recv()
print "Received '%s'" % result
我正在使用https://pypi.python.org/pypi/websocket-client/此处找到的 websocket 客户端
【问题讨论】:
【参考方案1】:我个人认为这是从 websocket 获取/打印信息的更好解决方案。这个例子是我在 websocket-client 的开发者网站上找到的。
如果您注意到,此示例使用 run_forever 方法,该方法将保持 websocket 连接打开并接收消息,直到发生错误或连接关闭。
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):
def run(*args):
for i in range(3):
time.sleep(1)
ws.send("Hello %d" % i)
time.sleep(1)
ws.close()
print("thread terminating...")
thread.start_new_thread(run, ())
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()
【讨论】:
以上是关于如何从 websocket(客户端)打印流信息?的主要内容,如果未能解决你的问题,请参考以下文章
JavaSE基础九---<IO流 >print打印流,对象输入输出流,对象序列化,transient关键字