cari

Rumah  >  Soal Jawab  >  teks badan

Tolong beritahu saya bagaimana untuk menyambungkan websocket dalam python

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_u1582phpcn_u15822752 hari yang lalu888

membalas semua(3)saya akan balas

  • 我想大声告诉你

    我想大声告诉你2017-05-18 10:56:01

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

    balas
    0
  • 为情所困

    为情所困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()

    balas
    0
  • 怪我咯

    怪我咯2017-05-18 10:56:01

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

    balas
    0
  • Batalbalas