当前位置: 首页 > news >正文

做自适应网站加强网站信息建设

做自适应网站,加强网站信息建设,用自己的电脑做网站空间,十大开源软件前端创建链接时官方提供的构造函数 var aWebSocket new WebSocket(url, [protocols]); url:要连接的URL;这应该是WebSocket服务器将响应的URL。 protocols:可选;一个协议字符串或者一个包含协议字符串的数组。这些字符串用于指定…

前端创建链接时官方提供的构造函数

var aWebSocket = new WebSocket(url, [protocols]);
url:要连接的URL;这应该是WebSocket服务器将响应的URL。
protocols:可选;一个协议字符串或者一个包含协议字符串的数组。这些字符串用于指定子协议,这样单个服务器可以实现多个WebSocket子协议(例如,您可能希望一台服务器能够根据指定的协议(protocol)处理不同类型的交互)。如果不指定协议字符串,则假定为空字符串。

websocket携带参数支持两种方式

在url后面拼接,类似以get请求

var socket = new WebSocket('ws://example.com/socket?token=' + YOUR_TOKEN);

使用protocols,token不要有特殊符号之类,逗号,横杠等也不要有,要不前端构造函数会报错

var webSocket = new WebSocket(url,[token]);

后台获取

package cn.bool.business.framework.websocket.core.security;import cn.bool.business.framework.security.core.LoginUser;
import cn.bool.business.framework.security.core.filter.TokenAuthenticationFilter;
import cn.bool.business.framework.security.core.util.SecurityFrameworkUtils;
import cn.bool.business.framework.websocket.core.util.WebSocketFrameworkUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.http.server.ServletServerHttpRequest;
import org.springframework.http.server.ServletServerHttpResponse;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.server.HandshakeInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;/**
* 登录用户的 {@link HandshakeInterceptor} 实现类
*
* 流程如下:
* 1. 前端连接 websocket 时,会通过Sec-WebSocket-Protocol协议传输token
*/
public class LoginUserHandshakeInterceptor implements HandshakeInterceptor {@Overridepublic boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response,WebSocketHandler wsHandler, Map<String, Object> attributes) {     // HttpServletRequest req = ((ServletServerHttpRequest) request).getServletRequest();// String header = request.getHeader(WS_LOGIN_USER_HEADER);     // 不强转也可以使用     HttpHeaders headers = request.getHeaders();List<String> list = headers.get("Sec-WebSocket-Protocol");if (CollectionUtil.isNotEmpty(list)) {String token = list.get(0);}     // 自己项目中登录校验逻辑 TODOreturn true;}@Overridepublic void afterHandshake(ServerHttpRequest request, ServerHttpResponse response,WebSocketHandler wsHandler, Exception exception) {          // 需要将前端自定义协议头Sec-WebSocket-Protocol原封不动返回回去,否则会报错HttpServletRequest httpRequest = ((ServletServerHttpRequest) request).getServletRequest();HttpServletResponse httpResponse = ((ServletServerHttpResponse) response).getServletResponse();if (StringUtils.isNotEmpty(httpRequest.getHeader("Sec-WebSocket-Protocol"))) {httpResponse.addHeader("Sec-WebSocket-Protocol", httpRequest.getHeader("Sec-WebSocket-Protocol"));}}}

http://www.yayakq.cn/news/72642/

相关文章:

  • 网站必须兼容哪些浏览器什么网站可以做产品入驻
  • asp.net 音乐网站开发乐陵seo快速排名
  • 单位网站建设工作总结百度指数总结
  • 做app页面的网站海珠定制型网站建设
  • 上海哪家公司提供专业的网站建设网络培训心得体会教师
  • 网站实现步骤及方法网店设计英文
  • 班级网页设计模板图片阳西网站seo
  • 建设部网站水利设计资质忻州网络公司网站建设
  • 门店广告牌设计seo黑帽技术
  • 定西市建设厅官方网站洛阳网站建设 恒凯科技
  • 三网合一网站模板wordpress 插件 表单
  • 简单的个人网站模板iis8出现在网站首页
  • 沈阳建站模板源码快速网站
  • 佛山建站平台宁波网站推广方式怎么样
  • 查询建设公司业绩网站怎样建设一个好的网站
  • 做购物网站的公司2023年中国500强榜单
  • 上海网站建设联系网站建设牜金手指花总十五
  • 静安网站建设北京写字楼装修公司
  • ps做图 游戏下载网站360搜索引擎地址
  • 网站建设评比细则在过没wordpress火吗
  • 长沙网站建设哪家强wordpress会员推广
  • 网站开发顺序以公司名称为后缀的邮箱
  • 个人网站心得义乌网站建设
  • 怎么做关注网站网站建设难点是什么
  • 深训网站别人做的网站自己根目录吗
  • 海宁营销型网站建设价格网站备案 时间
  • 邯郸建设局网站资质申报免费网站添加站长统计
  • 铁岭手机网站建设wordpress ftp上传
  • 网站百度推广wordpress 4.7解析
  • 镇江营销型建站公叿广告网站设计方案