Websocke 是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议
在WebSocket API 中 浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的链接,并进行双向传输数据。
浏览器通过JavaScript向服务器发出建立WebSocket连接的请求,连接建立后,客户端和服务端可以通过TCP连接直接交换数据
| var Socket = new WebSocket(url,[protocol]); |
属性
属性 |
描述 |
Socket.readyState |
只读属性readyState表示连接状态, 0 连接尚未建立1已建立连接可以通信 2 连接正在进行关闭 3 已关闭连接或者连接不能打开 |
Socket.bufferedAmount |
只读属性bufferedAmount已被send()放入正在队列中等待传输但是还没有发出的utf-8文本字节数 |
事件
事件 |
事件处理程序 |
描述 |
open |
Socket.onopen |
连接建立时会触发 |
message |
Socket.onmessage |
客户端接收到服务端数据时触发 |
error |
Socket.onerror |
通信发生错误时触发 |
close |
Socket.onclose |
连接关闭时触发 |
方法
方法 |
描述 |
Socket.send |
使用连接发送数据 |
Socket.close |
关闭连接 |
建立连接的过程,
- 浏览器客户端向服务器发送一个HTTP 请求 请求内容包含一些信息 其中就是"Upgrade:WebSocket" 这个表示从HTTP协议升级为websocket
2.服务器接收到第一个请求后,解析请求头中信息并产生应答信息后返回给客户端,这样一个websocket连接就算是建立成功了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗