websocket 在python中的使用

2019-05-23  本文已影响0人  FoolishFlyFox

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秒显示一个数字: 控制台显示

`

上一篇下一篇

猜你喜欢

热点阅读