現在在做一個項目,需要用到websocket,需要python去連接websocket,但是不知道怎麼用python連接websocket,找了好久沒找到,求各位大佬幫忙~~
pip3 install gevent-websocket pip3 install gunicorn
app.py demo
app.py
from geventwebsocket.handler import WebSocketHandler from gevent.pywsgi import WSGIServer app = 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:app
https://github.com/archever/p...
感謝各位,百度了好久都找不到解決辦法,樓上這位大神的應該可以用的,不過我看不太懂,感恩,上谷歌果然有收穫,果斷棄用百度
這是別人github上面的,可以用
# install ws4py # pip install ws4py # easy_install ws4py from ws4py.client.threadedclient import WebSocketClient class 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 m if __name__ == '__main__': try: ws = DummyClient('ws://10.222.138.163:1889/websocket', protocols=['chat']) ws.connect() ws.run_forever() except KeyboardInterrupt: ws.close()
建議使用tornado,它支援websocket,知乎後端就是使用tornado建構的
flask 使用 gevent-websocket + gunicorn 部署
app.py
demo使用 gunicorn 啟動 指定用 gevent-websocket
django 使用 Django-websocket
https://github.com/archever/p...
感謝各位,百度了好久都找不到解決辦法,樓上這位大神的應該可以用的,不過我看不太懂,感恩,上谷歌果然有收穫,果斷棄用百度
這是別人github上面的,可以用
建議使用tornado,它支援websocket,知乎後端就是使用tornado建構的