ajax使用ws协议,Flask WS协议 websockets

0x00

前言

一般情况下网站前端和后台的交互主要以ajax的方式完成。

如果遇到一些对实时比较高且频繁的接口,最好还是用 ws 协议会更加好。对于带宽不大充裕的云服务器来说,更加友好。(为什么说云服务器带宽不充裕?嘿嘿~带宽太贵了)

d67ff5fa09f0eb742bfbbe39bd1fe276.png

本文环境配置:

Flask == 1.1.1

Flask-Sockets == 0.2.1

visual studio 2017 \ 2015

0x01

后端代码#如果是在vs中创建的flask项目,下面的代码应添加到 runserver.py

if __name__ == '__main__':

form gevent import pywsgi

from geventwebsocket.handler import WebSocketHandler

#初始化服务器

server = pywsgi.WSGIServer((0.0.0.0,5555),app,handler_class=WebSocketHandler)

server.serve_forever()#如果是在vs中创建的flask项目,这在 views.py 添加下面的代码,若不是,请自行理解代码并添加到合适的位置

sockets = Sockets(app)    #app是flask的默认服务器对象

#ws路由

@sockets.route('/echo')

def echo_socket(ws):

while not ws.closed:

mes = ws.receive()        #读取客户端发送过来的数据

print(mes)

ws.send("hi,client!!!")   #向浏览器传送数据

0x02

前端代码

var ws = new WebSocket("ws://127.0.0.1:5555/echo");

ws.onopen = function(){

//打开ws连接

};

ws.onmessage = function(evt){

//接受到服务器数据的业务代码

console.info(evt.data);

};

//ws.onclose = function(){}    //关闭ws链接

ws.send("发送数据到服务器");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值