使用Websocket在JavaScript中进行实时通信,需要先创建一个WebSocket对象。例如:
const ws = new WebSocket('wss://example.com/socket');
此处的wss表示使用加密的WebSocket连接(即Secure WebSocket),如果服务器没有启用加密连接,则可以改用ws进行非加密连接。
接着,我们需要监听WebSocket对象的open、message、close和error事件,来处理与服务器建立连接、收到消息、关闭连接和出现错误等情况。例如:
ws.addEventListener('open', () => {
console.log('WebSocket连接已打开');
});
ws.addEventListener('message', event => {
const message = event.data;
console.log('收到消息:', message);
});
ws.addEventListener('close', () => {
console.log('WebSocket连接已关闭');
});
ws.addEventListener('error', error => {
console.error('WebSocket出错:', error);
});
在连接建立后,我们可以通过WebSocket对象的send方法向服务器发送数据:
ws.send('Hello, server!');
服务器收到消息后,可以通过WebSocket对象的send方法向客户端回复数据:
ws.addEventListener('message', event => {
const message = event.data;
ws.send(`你刚才说了:“${message}”`);
});
需要注意的是,WebSocket通信双方通过异步方式进行消息传递。因此,在处理WebSocket消息时,可能需要使用Promise或async/await等机制来确保消息的正确顺序和处理结果。