websocket 在python中的使用

websocket 的作用就不在此赘述了,下面通过一个简单的案例介绍websocket的使用。

安装包

pip install bottle
pip install bottle-websocket

服务器端编写

# websocketdemo.py
from bottle import route, run, static_file
from bottle.ext.websocket import GeventWebSocketServer
from bottle.ext.websocket import websocket
import time

@route("/")
def callback():
    return static_file("websocket.html", root=".")

@route("/websocket", apply=[websocket])
def callback(ws):
    count = 0
    while True:
        count += 1
        time.sleep(1)
        ws.send(str(count))

run(host=localhost, port=10000, server=GeventWebSocketServer)

前端编写

将 websocket.html文件放在与websocketdemo.py同目录下,内容为:

<!DOCTYPE html>
<html>
    <head>
        <title>websocket demo</title>
        <script>
            var ws = new WebSocket(ws:localhost:10000/websocket);
            ws.onopen = function(evt){
                console.log("on open");
            }
            ws.onclose = function(evt){
                console.log("on close");
            }
            ws.onmessage = function(evt){
                console.log(evt.data);
            }
        </script>
    </head>
    <body>
    </body
</html>

运行

在终端输入:python websocketdemo.py 在浏览器端输入url:http://localhost:10000/

打开控制台,可以发现控制台每隔1秒显示一个数字:

控制台显示

经验分享 程序员 微信小程序 职场和发展