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

建站排行榜使用软件提高百度推广排名

建站排行榜,使用软件提高百度推广排名,wordpress更换域名更改数据库,打开一个网站为繁体字是怎么做的一、前言WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。HTML5 定义的 WebSocket 协议#xff0c;能更好的节省服务器资源和带宽#xff0c;并且能够更实时地进行通讯。HTML5 定义的 WebSocket 协议#xff0c;能更好的节省服务器资源和带宽能更好的节省服务器资源和带宽并且能够更实时地进行通讯。HTML5 定义的 WebSocket 协议能更好的节省服务器资源和带宽并且能够更实时地进行通讯。浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求连接建立以后客户端和服务器端就可以通过 TCP 连接直接交换数据。二、快速搭建springboot-websocket项目的服务端1 导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId/dependency 2 创建配置类Configuration public class WebSocketConfig {Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();} } 3 创建WebSocketServer服务类 用来接收数据websocket的常用注解只有这5个ServerEndpoint注意上下文路径websocket连接地址OnMessage只有第一次加载websocket的时候会调用生命周期只有一次OnClose只有关闭websocket链接的时候会调用生命周期只有一次OnMessage每次接收信息的时候都会调用调用比较频繁OnError发生错误的时候调调用/*** 类似RequestMapping的地址* ws://localhost:8080/ws/000001*/ ServerEndpoint(/ws/{uuid}) Component public class WebSocketServer {private Session session; //客户端会话//存放每个客户端的连接会话public static ConcurrentHashMapString,WebSocketServer clients new ConcurrentHashMap();//开启连接//存入连接回话中OnOpenpublic void onOpen(Session session, PathParam( uuid) String uuid){System.out.println(当前的uuid为uuid);this.session session;clients.put(uuid,this);}//发送消息OnMessagepublic void OnMessage(String msg, PathParam( uuid) String uuid){System.out.println(当前的uuid为uuid);System.out.println(收到消息: msg);}//关闭连接OnClosepublic void onClose(PathParam( uuid) String uuid){System.out.println(当前的uuid为uuid);System.out.println(关闭socket连接uuid);clients.remove(uuid);}//发生异常的情况OnErrorpublic void onError(Throwable error) {error.printStackTrace();}} 4 启动项目三、一般都是前端为客户端后端为服务端这种方式前端客户端我不会需要的自己百度,哈哈哈四、搭建java-websocket客户端该案例只是告诉大家可以用java搭建客户端4.1 依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.java-websocket/groupIdartifactIdJava-WebSocket/artifactIdversion1.3.5/version/dependency 4.2 客户端代码Component public class WebSocketConfig {Beanpublic WebSocketClient webSocketClient() {try {WebSocketClient webSocketClient new WebSocketClient(new URI(ws://localhost:8081/ws/000001),new Draft_6455()) {Overridepublic void onOpen(ServerHandshake handshakedata) {System.out.println(ws 连接成功);}Overridepublic void onMessage(String message) {System.out.println(ws 收到消息message);}Overridepublic void onClose(int code, String reason, boolean remote) {System.out.println(ws 退出);}Overridepublic void onError(Exception ex) {System.out.println(连接错误ex.getMessage());}};webSocketClient.connect();return webSocketClient;} catch (Exception e) {e.printStackTrace();}return null;}} 4.3 发送消息的代码SpringBootApplication RestController public class SpringbootWebsocketClientApplication {Autowiredprivate WebSocketClient webSocketClient;public static void main(String[] args) {SpringApplication.run(SpringbootWebsocketClientApplication.class, args);}RequestMapping(/get)public String send(){webSocketClient.send(我是ws客户端你好);return 发送成功;}} 4.4 结果4.5 服务端收到消息当前的uuid为000001 收到消息: 我是ws客户端你好 五、websocket传递头信息,协议头token的前后端解决方案js websocket 传递tokenwebsocket协议在握手阶段借用了HTTP的协议但是在JavaScript websocketAPI中并没有修改请求头的方法。1.1 基于协议头websocket请求头中可以包含Sec-WebSocket-Protocol这个属性该属性是一个自定义的子协议。它从客户端发送到服务器并返回从服务器到客户端确认子协议。我们可以利用这个属性添加token。var tokenfasdfadfasdfavar ws new WebSocket(ws:// url /webSocketServer,[token]); 后台取出websocket协议头的参数2.1 取出tokentoken ((HttpServletRequest) servletRequest).getHeader(Sec-WebSocket-Protocol);2.2 注意大坑如果传递了token参数后端响应的时候也必须带上这个token响应否则前端接收不到数据可以采用servlet的过滤器来做Order(1) Component WebFilter(filterName WebsocketFilter, urlPatterns /home/*) public class WebsocketFilter implements Filter {Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletResponse response (HttpServletResponse) servletResponse;String token ((HttpServletRequest) servletRequest).getHeader(Sec-WebSocket-Protocol);response.setHeader(Sec-WebSocket-Protocol,token);filterChain.doFilter(servletRequest, servletResponse);}Overridepublic void destroy() {} } 六、结尾websocket最伟大之处在于服务器和客户端可以在给定的时间范围内的任意时刻相互推送信息。 浏览器和服务器只需要要做一个握手的动作在建立连接之后服务器可以主动传送数据给客户端客户端也可以随时向服务器发送数据。第一、WebSocket是HTML5中的协议支持持久连接而Http协议不支持持久连接。第二、首先Websocket是一个持久化的协议相对于HTTP这种非持久的协议来说HTTP的生命周期通过 Request 来界定也就是一个 Request 一个 Response 那么在 HTTP1.0 中这次HTTP请求就结束了。在HTTP1.1中进行了改进使得有一个keep-alive也就是说在一个HTTP连接中可以发送多个Request接收多个Response。但是请记住 Request Response 在HTTP中永远是这样也就是说一个request只能有一个response。而且这个response也是被动的不能主动发起。第三、传统的http请求其并发能力都是依赖同时发起多个TCP连接访问服务器实现的(因此并发数受限于浏览器允许的并发连接数)而websocket则允许我们在一条ws连接上同时并发多个请求即在A请求发出后A响应还未到达就可以继续发出B请求。由于TCP的慢启动特性新连接速度上来是需要时间的以及连接本身的握手损耗都使得websocket协议的这一特性有很大的效率提升。第四、http协议的头部太大且每个请求携带的几百上千字节的头部大部分是重复的很多时候可能响应都远没有请求中的header空间大。如此多无效的内容传递是因为无法利用上一条请求内容websocket则因为复用长连接而没有这一问题。第五、当需要实现客户端刷新消息时传统方案往往通过定时ajax请求实现实际上对多数用户多数时间下这些请求都是无意义了并且非常占用资源websocket资源占用就小很多
http://www.w-s-a.com/news/371851/

相关文章:

  • 禹州市门户网站建设做网站可以申请个体户么
  • 大良营销网站建设效果彩票网站搭建 做网站
  • 做网站的公司为什么人少了在中国如何推广外贸平台
  • 盘锦网站制作工业电商网站怎么配色
  • 白云企业网站建设seo排名点击软件
  • wordpress跨站脚本攻击漏洞国外注册的域名国内能用吗
  • 西部数码网站管理助手2工信部资质查询网站
  • 公司网站哪个建的好吉林网站制作
  • 视频网站怎么引流wordpress私人玩物
  • 我的家乡湛江网站设计新钥匙网站建设
  • 辽宁网站推广爱前端wordpress5.0.3主题
  • python怎么做网站贵阳网站制作
  • 深圳网站的优化seo网络推广有哪些
  • 网站建设实习报告范文荆州市城市建设档案馆网站
  • 网站开发信息平台项目总结企业网站如何推广
  • 网站备案名称规定手机免费h5制作软件
  • 接网站建设单子的网站网页设计尺寸多大
  • 订制型网站费用做网站的问题
  • 淮阳住房和城乡建设网站桂林新闻桂林人论坛
  • 公司网站建设价格标准老版本网站开发工具
  • 门户网站开发费怎做账做网站交互demo工具
  • 中山最好的网站建设黄村网站建设价格
  • 企业网站首页应如何布局互联网营销师证书报名入口
  • 绍兴做网站哪家好篮球网站设计
  • 鹤岗市城乡建设局网站西域电商平台官网
  • 外贸网网站建设蓝色管理系统网站模版
  • 网站服务器关闭阿里巴巴logo
  • 青岛 网站制作公司乐从网站制作
  • wordpress 微网站模板怎么用wordpress 文档下载
  • ppt网站建设的目的合肥做网站找哪家好