Rumah > Soal Jawab > teks badan
Saya sedang menjalankan projek sekarang, yang memerlukan penggunaan websocket Saya memerlukan python untuk menyambung ke websocket, tetapi saya tidak tahu cara menggunakan python untuk menyambung ke websocket saya telah lama mencarinya masa dan belum jumpa. Tolong bantu saya~~
我想大声告诉你2017-05-18 10:56:01
pip3 install gevent-websocket
pip3 install gunicorn
app.py
demo
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()
Gunakan gunicorn untuk memulakan dan nyatakan gevent-websocket
gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker app:app
https://github.com/archever/p...
为情所困2017-05-18 10:56:01
Terima kasih semua, saya tidak dapat mencari penyelesaian di Baidu untuk masa yang lama. Tuan di atas sepatutnya boleh menggunakannya, tetapi saya tidak begitu memahaminya. Terima kasih, saya benar-benar mendapat sesuatu dengan pergi ke Google , jadi saya dengan tegas meninggalkan Baidu
Ini ada pada github orang lain, anda boleh menggunakannya
# 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()
怪我咯2017-05-18 10:56:01
Adalah disyorkan untuk menggunakan tornado, yang menyokong websocket Bahagian belakang Zhihu dibina menggunakan puting beliung