flask web socket,flask websocket 指定用推送
本文主要介绍了瓶上使用求转发到的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
目录
烧瓶插座服务器端程序SocketIO客户端程序使用烧瓶插座和烧瓶浸泡之间的主要区别在于前者仅仅将WebSocket协议(通过使用全球事件网络套接字项目)进行包装,因此它只适用于原生支持WebSocket协议的浏览器,对于那些不支持WebSocket协议的较老的浏览器,就无法使用它了烧瓶插槽则不同,通过前面的介绍,读者应该已经知道了它不仅实现了WebSocket协议,并且对于那些不支持WebSocket协议的旧版浏览器,使用它也能够实现相同的效果。新版旧版的浏览器都能使用他
另一个区别是烧瓶浸泡实现了SocketIO Javascript库公开的消息传递协议烧瓶插座只是实现通信通道,发送的是完全取决于应用程序。
烧瓶浸泡还为事件处理程序创建了一个类似瓶的常规视图函数的环境,包括创建应用程序和请求上下文。然而,在文档中会介绍一些重要的例外情形。
Flask-SocketIO服务器端程序
如下是一个使用了烧瓶浸泡的瓶应用程序。
从烧瓶导入烧瓶,渲染模板
从烧瓶_插座导入socketio,发出
app=Flask(__name__)
app。config[ SECRET _ KEY ]= SECRET!
socketio=SocketIO(app)
@app.route(/)
定义索引():
返回render_template(index.html )
@socketio.on(我的事件,命名空间=/test )
定义测试消息(消息):
发出(我的响应,{ 数据 :消息[数据]})
@socketio.on(我的广播事件,命名空间=/test )
定义测试消息(消息):
发出(我的响应,{ 数据 :消息[数据]},广播=真)
@socketio.on(connect ,namespace=/test )
极好的测试_连接():
发出(我的响应,{ 数据 : 已连接 })
@socketio.on(disconnect ,namespace=/test )
极好的测试_断开():
打印("客户端断开连接")
if __name__==__main__:
socketio.run(应用程序)
SocketIO客户端程序
$(文档)。ready(function(){
var socket=io。连接( http://文档。域“:”位置。端口/test );
socket.on(我的响应,函数(消息){
$(#log ).append( preceived : 消息。data /p );
});
$(form#emit ).提交(函数(事件){
socket.emit(我的事件,{data: $(#emit_data ).val()});
返回错误的
});
$(格式#广播)。提交(函数(事件){
socket.emit(我的广播事件,{data: $(#broadcast_data ).val()});
返回错误的
});
});
使用Flask-Sockets
切断端:
从烧瓶进口烧瓶
从烧瓶_插座导入套接字
导入日期时间
导入时间
随机导入
app=Flask(__name__)
套接字=套接字(应用程序)
@sockets.route(/echo )
定义回显套接字(ws):
而不是ws.closed:
now=datetime.datetime.now()。isoformat() Z
ws.send(现在)#发送数据
时间。睡眠(1)
@app.route(/)
def hello():
返回"你好,世界!"
if __name__==__main__:
从命名空间导入派斯基
从geventwebsocket.handler导入WebSocketHandler
server=pywsgi .WSGIServer(( ,5000),app,handler_class=WebSocketHandler)
打印("服务器启动")
server.serve_forever()
客户端:
!声明文档类型
html lang=en
头
meta charset=UTF-8
标题标题/标题
脚本src= https://cdn。bootcss。com/jquery/3。2 .0/jquery。js /脚本
/头
身体
div id= time style= width : 300 px;高度: 50px背景色: # 0 c0c 0 c;
颜色:白色;文本对齐:居中;行高: 50px保证金-左: 40%;font-size: 20px/div
脚本
var ws=new web socket( ws ://127。0 .0 .1:5000/echo’);#连接计算机网络服务器
ws.onmessage=function (event) {
内容=文档。创建文本节点(事件。数据);# 接收数据
$(#time ).html(内容);
};
/脚本
/body
/html
这就是这篇关于如何在flask上使用websocket的例子的文章。有关如何在flask上使用websocket的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望你以后能支持风行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。