您的位置:首页技术文章
文章详情页

请教一下,python怎么连接websocket

【字号: 日期:2022-07-13 15:09:37浏览:44作者:猪猪

问题描述

现在在做一个项目,需要用到websocket,需要python去连接websocket,但是不知道怎么用python连接websocket,找了好久没找到,求各位大佬帮忙~~

问题解答

回答1:flask 使用 gevent-websocket + gunicorn 部署

pip3 install gevent-websocketpip3 install gunicorn

app.py demo

from geventwebsocket.handler import WebSocketHandlerfrom gevent.pywsgi import WSGIServerapp = Flask(__name__)@app.route(’/echo/’)def echo(): if request.environ.get(’wsgi.websocket’):ws = request.environ[’wsgi.websocket’]while True: msg = ws.receive() ws.send(msg)if __name__ == ’__main__’: http_server = WSGIServer((’’, 5000), app, handler_class=WebSocketHandler) http_server.serve_forever()

使用 gunicorn 启动 指定用 gevent-websocket

gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker app:appdjango 使用 Django-websocket

https://github.com/archever/p...

回答2:

感谢各位,百度了好久都找不到解决办法,楼上这位大神的应该可以用的,不过我看不太懂,感恩,上谷歌果然有收获,果断弃用百度

这是别人github上面的,可以用

# install ws4py# pip install ws4py# easy_install ws4pyfrom ws4py.client.threadedclient import WebSocketClientclass DummyClient(WebSocketClient): def opened(self):self.send('www.baidu.com') def closed(self, code, reason=None):print 'Closed down', code, reason def received_message(self, m):print mif __name__ == ’__main__’: try:ws = DummyClient(’ws://10.222.138.163:1889/websocket’, protocols=[’chat’])ws.connect()ws.run_forever() except KeyboardInterrupt:ws.close()回答3:

建议使用tornado,它支持websocket,知乎后端就是使用tornado构建的

标签: Python 编程
相关文章: