小程序WebSocket

文章目录

一、WebSocket

1、为什么要用WebSocket

为什么我们有了http请求之后,还要用WebSocket呢?
http只能是单向发起的,只能由客户端主动发起,服务端被动响应。服务端无法主动向客户端发送消息,如果想实现类似于聊天室这种即时通讯的功能,就需要使用消息轮询。轮询的效率低,比较消耗资源。(每次建立http连接都进行三次握手,并且每次请求都需要携带请求头),开发人员为了解决这个问题,发明了webSocket

2、什么是WebSocket

WebSocket是HTML5规范提出的一种协议。
它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。

3、websocket特点

websocket建立连接时,数据是通过http传输的,建立连接后就不需要http协议了。
websocket建立连接后就是全双工模式,也是基于tcp协议。
建立连接之后,不必在浏览器(客户端)发送request之后服务器才能发送信息到浏览器,这时候服务器有主动权,可以随时发消息给浏览器(客户端)。
发送的信息中不必带有head部分信息了,相对于http来说,降低了服务器的压力,极大的减少了不必要的网络流量与延迟。
没有同源限制,客户端可以与任意服务器通信
协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。

4、使用方法

  • 打开链接
  • 发送消息
  • 监听服务端消息
  • 关闭连接
相关推荐
乾元8 小时前
SDN 与 AI 协同:控制面策略自动化与策略一致性校验
运维·网络·人工智能·网络协议·华为·系统架构·ansible
橘子真甜~8 小时前
C/C++ Linux网络编程10 - http协议
linux·服务器·网络·c++·网络协议·http
车载测试工程师10 小时前
CAPL学习-ETH功能函数-方法类4
网络协议·tcp/ip·以太网·capl·canoe
hnlq10 小时前
基于dpdk的用户态协议栈的实现(三)—— TCP的三次握手实现
网络·网络协议·tcp/ip
小熊哥^--^10 小时前
WebSocket客户端封装类
前端·websocket
sugar__salt11 小时前
网络编程套接字(二)——TCP
java·网络·网络协议·tcp/ip·java-ee·javaee
大迪吃小迪12 小时前
Vert.x 常见问题精简总结
java·websocket·web
濊繵14 小时前
Linux网络--HTTP cookie 与 session
网络·网络协议·http
Tandy12356_14 小时前
手写TCP/IP协议栈——ARP超时重新请求
c语言·c++·网络协议·计算机网络
方块A14 小时前
轻量级的 HTTP 跳转服务
网络·网络协议·http