Tolong beritahu saya bagaimana untuk menyambungkan websocket dalam python
phpcn_u1582
phpcn_u1582 2017-05-18 10:54:01
0
3
903

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~~

phpcn_u1582
phpcn_u1582

membalas semua(3)
我想大声告诉你

flask digunakan menggunakan gevent-websocket + gunicorn

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

django menggunakan Django-websocket

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

为情所困

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()
刘奇

Adalah disyorkan untuk menggunakan tornado, yang menyokong websocket Bahagian belakang Zhihu dibina menggunakan puting beliung

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan