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."); };


浙公网安备 33010602011771号