请教一下,python怎么连接websocket
问题描述
现在在做一个项目,需要用到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构建的
相关文章:
1. 请教一下同一个数据高迸发操作的问题2. javascript - 想请教一下这个网页中的自动旋转和折叠部分是如何实现的3. javascript - 想请教一下,js中 function中参数 e 到底是什么,每个条用的参数 e的用法都不一样?4. 请教一下,eclipse设置好了build automatically后,什么时候自动构建java源文件?5. javascript - 请教一下 better-scroll +vue 滚动的用法6. html5 - 前端面试碰到了一个缓存数据的问题,来论坛上请教一下7. selenium - 请教一下 Python 爬虫工具8. 前端 - 请教一下CSS3中translateZ和rotateY书写顺序的问题9. css3 - 请教一下,css如何使左右两边的div高度自适应相等10. vue.js - Vue APP基于webpack的项目,它是独立的项目吗?我后台是Java的,要如何实现,跨域请求吗?大牛请教一下谢谢