sessioncontainer

websocket网络编程实战

让人想犯罪 __ 提交于 2020-10-02 14:45:37
前言 上篇文章我们用STOMP子协议实现了在线群聊和一对一聊天室等功能,本篇我们继续WebSocket这个话题,这次我们换个实现维度:用原生的WebSocket来实现,看看这两者在实现上的差别有多大。 实战WebSocket的要点 一、WebSocket重要属性 属性 备注 Socket.readyState 只读属性 readyState 表示连接状态,可以是以下值: 0 - 表示连接尚未建立。 1 - 表示连接已建立,可以进行通信。 2 - 表示连接正在进行关闭。 3 - 表示连接已经关闭或者连接不能打开。 Socket.bufferedAmount 只读属性 bufferedAmount 已被 send() 放入正在队列中等待传输,但是还没有发出的 UTF-8 文本字节数。 二、WebSocket核心事件 事件 事件处理程序 备注 open Socket.onopen 连接建立时触发 message Socket.onmessage 客户端接收服务端数据时触发 error Socket.onerror 通信发生错误时触发 close Socket.onclose 连接关闭时触发 三、WebSocket核心方法 方法 备注 Socket.send() 使用连接发送数据 Socket.close() 连接关闭 代码设计实现 一、服务端部分 /** * @author