websocket是浏览器与服务器间全双工通信协议,通过new websocket(url)创建连接(url须为ws://或wss://),open事件标识连接就绪,send()发送字符串/blob/arraybuffer,message事件接收文本数据,data属性即为字符串,可json.parse解析,需用readystate检查连接状态。

WebSocket 是浏览器与服务器之间建立全双工通信的协议,发送和接收文本消息非常直接,核心在于正确创建连接、监听事件、调用 send() 方法。
建立 WebSocket 连接
使用 new WebSocket(url) 创建实例,url 必须是 ws:// 或 wss:// 开头。连接成功后会触发 open 事件。
示例:
const ws = new WebSocket('ws://localhost:8080');
ws.onopen = () => {
console.log('连接已建立');
};
发送文本消息
调用 ws.send(data) 即可发送字符串。注意:只能传入字符串、Blob 或 ArrayBuffer;发送文本必须是字符串,否则会报错。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 发送普通文本:
ws.send('Hello Server'); - 发送 JSON 字符串(常见做法):
ws.send(JSON.stringify({ type: 'login', user: 'Alice' })); - 发送前建议检查
ws.readyState === WebSocket.OPEN,避免连接未就绪时发送失败
接收文本消息
通过监听 message 事件获取服务器发来的数据。事件对象的 data 属性就是接收到的内容 —— 如果是文本,data 默认为字符串。
示例:
ws.onmessage = (event) => {
console.log('收到文本:', event.data); // 直接是字符串
try {
const obj = JSON.parse(event.data); // 若是 JSON,再解析
console.log('解析后:', obj);
} catch (e) {
console.log('非 JSON 文本:', event.data);
}
};
处理连接状态与错误
实际使用中需关注连接是否可用,及时响应异常:
ws.onclose = () => console.log('连接已关闭');ws.onerror = (err) => console.error('WebSocket 错误:', err);-
ws.readyState可用于判断当前状态:0=CONNECTING、1=OPEN、2=CLOSING、3=CLOSED
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










