websocket面试
时间: 2023-09-25 13:10:40 浏览: 49
WebSocket是一种在浏览器和服务器之间进行全双工通信的协议,它能够实现实时通讯并节省服务器资源和带宽。与HTTP不同,WebSocket是一种双向通信协议,它通过已建立的TCP连接进行数据传输,可以在连接建立后由服务器端和客户端主动发送和接收数据,类似于Socket的功能。WebSocket同时也是基于TCP实现的,它规定了数据传输的编码和解码方案,使得开发者不再需要自己设计和实现另外的协议。
与普通的Socket相比,WebSocket具有以下优势和区别:
1. WebSocket是一个应用层协议,而普通的Socket只提供最基本的数据传输功能。WebSocket规定了数据传输的编码和解码方案,使得开发者只需要根据其设计出对应的实现,而不需要自己去搞一套另外的协议。
2. WebSocket是一种长连接应用,即WebSocket连接在建立后会一直保持,不需要频繁地建立和关闭连接,这样可以减少网络开销和传输延迟。而普通的Socket没有规定长连接的机制,需要开发者自己处理连接的建立和关闭。
3. WebSocket不仅可以在浏览器上使用,还可以在服务器和其他类型的客户端上使用,只要有实现的软件包即可。而普通的Socket一般用于服务器和客户端之间的通信,不同类型的客户端可能需要不同的实现方式。
总而言之,WebSocket是一种在浏览器和服务器之间进行全双工通信的协议,它通过已建立的TCP连接进行数据传输,并且具有双向通信的特性。与普通的Socket相比,WebSocket提供了更高层次的抽象和规范,使得开发者可以更方便地实现基于WebSocket的应用程序。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [面试:WebSocket相关](https://blog.csdn.net/cpcpcp123/article/details/121844051)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]