以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- websocket+layui实现多客户端间表格任意单元格实时推送更新 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186062) |
-- 作者:zhenghangbo -- 发布时间:2023/4/4 13:08:00 -- websocket+layui实现多客户端间表格任意单元格实时推送更新 很久没来搞研究了,这几天研究了webscoket,代码有点乱就不上传了,写一下怎么做的,。 灵感来源:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=158906&replyID=&skin=1 1.打开多个浏览器 2.修改其中一个浏览器表格中的数据 3.多个浏览器里面实时更新 实现步骤 1:弄会杰哥的例子 2:服务端启动webscoket 3:设计一个带登录用户密码的登录系统(例如周老师的那个layui的订单系统),打开浏览器登录系统自动连接webscoket服务(这个很简单,把连接的代码直接写在JS中,这样刷新后也会重连。有更好的解决方法) 如何解决后端认证、断线重连、心跳 1.解决认证,网页上连接webscoket的时候带上参数(注意用?连接参数),这个document.cookie.toString(),是页面的cookie(第一次登录系统的时候后端要保存好),后端可以获取。 websocket = new WebSocket("ws://127.0.0.1:9091/WsChat?" + document.cookie.toString()); 后端获取cookie代码 Dim cqs As System.Collections.Specialized.NameValueCollection = Args(2) Dim Tok As String = cqs("token") 利用这个获取的cookie可以在系统登录去找是否存在这个cookie,不存在就单个踢下线。 2.断线重连、心跳 这部分代码网上很多,可以结合刷新不掉线一起做。 如何实现layui表格任意单元格实时更新 1.前端的更改通过webscoket的send(msg)方法给后端发更改后的数据。 2.后端收到是更新的数据后群发该信息 3.前端收到群发信息后(自己解析),关键是用js选择器选中layui表格任意单元格,然后用JQ的.text方法给单元格从新赋值。 [此贴子已经被作者于2023/6/25 9:39:48编辑过]
|
-- 作者:ycwk -- 发布时间:2023/8/9 16:15:00 -- 杰哥的哪个例子? |
-- 作者:有点蓝 -- 发布时间:2023/8/9 16:18:00 -- 以下是引用ycwk在2023/8/9 16:15:00的发言:
上面标红的文字里有链接
杰哥的哪个例子? |