WebSocket

1、为什么你们的项目中使用webSocket协议?

  前端js不断的请求服务器,查看数据是否又跟新,如果又跟新,那么就同步到前端,但是如果没有更新,但是前端js还是会不断请求,这时候就会产生服务器的浪费

  因此,这时候就会用到websocket,服务器又数据更新,可以直接发送给前端,而不需要js再去请求。

2、UDP与TCP协议的概念

  tcp是为了数据传输而实现创建的连接,然后再进行数据传输。而UDP协议,不为ip提供可靠性,流控,差错纠正的功能。

  一般来说,TCP协议对应的是可靠性要求较高的应用,而UDP对应的是可靠性要求不高,通信效率较高的应用。

3、什么是WebSocket?

  是h5的一种新的协议,是全双工通信协议,可以实现服务器向客户端传输的数据的协议,是建立再单个Tcp协议上的全双工通信协议。

4、全双工通信协议的概念

  是一种数据传输的术语,指的是数据可以进行双向传输,相当于两个单工通信的结合:电话

  半双工通信:数据可以进行双向通信,但是不能同时进行通信:对讲机

  单工通信:只能由一方接受到通信:电视

5、WebSocket与 socket的主要区别是什么?

  Socket 是应用层与TCP/IP协议的中间软件抽象层,它是一组接口。而WebSocket是完全的应用层协议,有一整套标准api。

6、Http与WebSocket的区别?

  http是短连接,协议请求后,就会关闭,再次请求的话,要重新打开协议。

  WebSOcket是长连接,只需要通过一次请求初始化连接,然后所有的请求都是通过tcp的协议进行通信的。

7、WebSocket的常用注解又那些?

@ServerEndpoint 类似与servlet中的 RequestMapping

@OnOpen类似与servlet中的 init()初始化

@OnClose类似与servlet中的destroy() 销毁

@OnMessage类似于servlet中的service请求 (意思就是发送数据的方式 @doPost() / @doGet() 组合)*

8、WebSocket的特征

   WebSocket协议为web应用程序客户端和服务端之间提供了一种全双工通信机制。

特点:

  (1)握手阶段采用HTTP协议,默认端口是80和443

  (2)建立在TCP协议基础之上,和http协议同属于应用层

  (3)可以发送文本,也可以发送二进制数据。

  (4)没有同源限制,客户端可以与任意服务器通信。

  (5)协议标识符是ws(如果加密,为wss),如ws://localhost:8023

9、 WebSocket 的用法相当简单。

复制代码
var ws = new WebSocket("wss://echo.websocket.org");

ws.onopen = function(evt) { 
  console.log("Connection open ..."); 
  ws.send("Hello WebSockets!");
};

ws.onmessage = function(evt) {
  console.log( "Received Message: " + evt.data);
  ws.close();
};
websocket.onerror = function(){

}
ws.onclose = function(evt) { console.log("Connection closed."); };

 

 

 

posted @ 2022-03-15 22:10  jiaxin2015  阅读(98)  评论(0)    收藏  举报