问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

websocket建立连接时能传递参数吗?

发布网友 发布时间:2022-04-24 14:56

我来回答

3个回答

热心网友 时间:2022-06-27 21:28

可以传参。

以java为例:

var websocket = new WebSocket("ws://ws.xxxx.con/what/webSocketServer?sid=" + sid

java中自定义 WebSocketHandshakeInterceptor, 

String sid = ((ServletServerHttpRequest) req).getServletRequest().getParameter("sid");

即可拿到 sid 的值,可以添加到 attributes 中使用

通过

session.getAttributes().get('sid')

 可以拿到建立时传递的参数

WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TCP 之上,同 HTTP 一样通过 TCP 来传输数据,但是它和 HTTP 最大不同是:

WebSocket 是一种双向通信协议,在建立连接后,WebSocket 服务器和 Browser/Client Agent 都能主动的向对方发送或接收数据,就像 Socket 一样;

WebSocket 需要类似 TCP 的客户端和服务器端通过握手连接,连接成功后才能相互通信。

热心网友 时间:2022-06-27 21:28

在Websocket规范提出之前,开发人员实现实时性较强的功能基本采用两种轮询方法:轮询(polling)和Comet技术。

轮询:轮询技术要求客户端以设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动。明显地,这种方法会导致过多不必要的请求,浪费流量和服务器资源。

Comet技术可分为:长轮询、流技术。长轮询改进了上述的轮询技术,减小了无用的请求。它会为某些数据设定过期时间,当数据过期后才会向服务端发送请求;这种机制适合数据的改动不是特别频繁的情况。流技术**指客户端使用一个隐藏的窗口与服务端建立HTTP长连接,服务端会不断更新连接状态以保持HTTP长连接存活,然后才能主动推送数据给客户端。

缺点:这两种技术每一次请求、应答,都浪费了一定流量在相同的头部信息上,并且开发复杂度也较大。

伴随着HTML5推出的WebSocket,使B/S模式具备了C/S模式的实时通信能力。WebSocket连接本质上是TCP连接,不需要每次传输都带上重复的头部数据。WebSocket的工作流程:浏览器通过JavaScript向服务端发出建立WebSocket连接的请求,在WebSocket连接建立成功后,客户端和服务端就可以通过TCP连接传输数据。

WebSocket与TCP、HTTP的关系
WebSocket与http协议一样都是基于TCP的可靠协议,WebSocket在建立握手连接时,数据是通过http协议传输的,但是在建立连接之后,真正的数据传输阶段是不需要http协议参与的。

热心网友 时间:2022-06-27 21:29

连接位置传递参数,你懂的
@ServerEndpoint(value = "/websocket/{sid}")

onOpen 方法下 取参数
String sid = session.getPathParameters().get("sid");
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
房贷和消费贷利率差别不大,但是还款金额差别挺大,都是怎么计算的... ...11月18号提现1500元、,11月25号还款1515,请问我还需要还 总金额是1515元,手续费是3.33元,怎么算的 三个小杯,两个大杯的容量一共是880毫升,小杯的容量是大杯的四分之一... ...毫升,小杯的容量是大杯的4分之1,小杯和大杯的容量各是多少毫升?(用... 怎么能知道局域网有没有人开P2P之类的限速软件,如果被限速,那么开360... 用P2P限速对方会知道吗 怎样判断是否有人使用局域网限速软件如果你在局域网内共享上网? 什么软件能查到其它电脑是否对网络限速?(例如其它电脑使用了P2P这种... 怎么让电脑版微信在线 spring websocket WebSocketSession 共享方案 要学习websocket有什么推荐的书籍或资料 websocket推送 安卓 websocket 消息推送只能在某一个页面吗? 实用websocket能做哪些有趣的功能? 海尔电视内置推箱子游戏第三关怎么过? 海尔的电视剧叫什么名字 海尔液晶电视32寸的报价及推荐 电脑i7配置 帮我看一下外星人I7电脑的配置 I7CPU的电脑如何配置? i7电脑配置 i7笔记本性能相当于什么配置的台式机 联想thinkpad电脑配置i7是什么意思 电脑配置:独显i7四核16G/128G+500是什么意思? 怎么查自己有多少张银行卡? 你认为国内最高质量的男团是哪个? 表演时张颜齐提醒摄像师把镜头给赵让,他是怎么做R1SE的团魂的? 怎样嫁给赵让? 赵让疑似恋情曝光,R1SE这个团有多糊? 如何基于WebSocket和MongoDB技术实现NodeJS的推送服务器集群_百度知 ... 微信小程序 websocket sockettask 大神们,有什么websocket视频学习推荐没 求助两个关于websocket通信的问题 jsp有没有类似websocket的技术,但浏览器兼容性比websocket好;不要用单纯的ajax 如何用 Charles 抓 iOS 端 WebSocket 数据的包 安卓也有软件可以像iphone那样消息推送吗? 影视大全有点不清晰怎么把它变清楚? 360影视大全怎么筛选清晰度? 360影视大全里怎么设置超清 360影视大全观看视频时,清晰度怎么调?就显示流畅特别不清,找不到在哪... 为什么我vivo的影视大全不可以调节清晰度? 在360影祝大全中,怎样才能使视频变成高清 影视大全高清版如果一直卡怎么办? 360影视大全怎样设置离线清晰度 影视大全为什么不能调清晰度综艺? 《影视大全》离线视频清晰度不能设置? 影视大全的缓存切换高清在哪? 为什么我的影视大全我切换了高清但还是标清的画质? 上古卷轴5爱的实验室 怎么才能强X