zoukankan      html  css  js  c++  java
  • websocket学习总结

    一、前后端常用通讯方式

         1. ajax   

      浏览器发起请求,服务器返回数据,服务器不能主动返回数据,要实现实时数据交互只能是ajax轮询(让浏览器隔个几秒就发送一次请求,然后更新客户端显示。这种方式实际上浪费了大量流量并且对服务端造成了很大压力)。

         2. websocket

            websocket是HTML5出的东西(协议),是一种全双工通信机制,两端可以及时地互发事件,互发数据,相互通信,只需要浏览器和服务器建立一次连接,服务器就可以主动推送数据到浏览器实现实时数据更新。

        原生 websocket 支持到IE11 ,实际开发中,有比较著名的两个库socket.io(英文版中文版可能跟新不及时) 和 sockjs , 它们都对原始的API做了进一步封装和兼容IE,提供了更多功能,都分为客户端和服务端的实现,实际应用中,可以选择使用。

      websocket  的实现需要后端搭建一个WebSocket服务器。

          websocket最好用在实时更新的业务场景中,解决ajax long polling长轮询问题。如果一次请求就能得到想要的数据信息业务,还是使用ajax来解决,此时如果使用websocket相当于一直浪费着服务器的资源。

    二、有两种websocket包可以集成在项目中,方便引入websocket机制:

         1、java_websocket.jar :从底层集成,需要手动创建 WebSocketServer类并开启(调用start方法)

         2、websocket-api.jar  :使用ServerEndpoint注解,value参数指定了ws访问的路径

      例如:

        使用@ServerEndpoint(value="/websocket/connectServer") 来标识一个websocketserver类

             ws访问这个websocketserver的路径为:ws://服务器IP:tomcat端口/项目名/websocket/connectServer

  • 相关阅读:
    C#---将数据库数据转换为json格式
    ASP.NET ---根据值让树中某一节点选中
    SQL---查询树中某个节点及其所有子节点
    CSS---相对定位笔记
    CSS---绝对定位笔记
    滑雪
    Self Numbers
    Lotto
    Parencodings
    Robot Motion
  • 原文地址:https://www.cnblogs.com/wangle1001986/p/8514977.html
Copyright © 2011-2022 走看看