2024马士兵mca架构师《金九银十面试突击班》资料分享-百度网盘下载
【微信642620018,获取马士兵、图灵、珠峰前端、慕课网、极客时间等更多IT课程】
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,适用于实时应用,如在线聊天、股票交易、游戏等。下面是 WebSocket 的快速入门教程:
1. WebSocket 概念
- WebSocket:一种协议,允许在客户端和服务器之间建立持久连接,实现双向实时通信。
- HTTP 和 WebSocket 的区别:HTTP 是请求-响应模型,每次请求都需要重新建立连接,而 WebSocket 是持久连接,可以进行双向通信。
2. WebSocket 工作原理
- 握手:客户端通过 HTTP 发起 WebSocket 握手请求。
- 建立连接:服务器确认握手请求后,建立 WebSocket 连接。
- 数据传输:在连接建立后,双方可以随时发送和接收消息。
- 关闭连接:双方可以随时关闭连接。
3. 客户端代码示例(JavaScript)
// 创建 WebSocket 对象
const socket = new WebSocket('ws://localhost:8080');
// 连接成功时触发
socket.onopen = function(event) {
console.log('WebSocket is connected.');
// 发送数据到服务器
socket.send('Hello Server!');
};
// 服务器发来消息时触发
socket.onmessage = function(event) {
console.log('Message from server: ', event.data);
};
// 连接关闭时触发
socket.onclose = function(event) {
console.log('WebSocket is closed.');
};
// 错误时触发
socket.onerror = function(error) {
console.log('WebSocket Error: ', error);
};
4. 服务器端代码示例(Node.js 使用 ws
库)
首先,你需要安装 ws
库:
npm install ws
然后编写服务器端代码:
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', (socket) => {
console.log('Client connected.');
// 监听消息
socket.on('message', (message) => {
console.log('Received message: ', message);
// 回复客户端
socket.send('Hello Client!');
});
// 连接关闭时
socket.on('close', () => {
console.log('Client disconnected.');
});
// 发生错误时
socket.on('error', (error) => {
console.error('WebSocket Error: ', error);
});
});
5. 测试 WebSocket
- 启动你的服务器代码。
- 打开一个 HTML 文件,包含前面提到的客户端 JavaScript 代码。
- 打开浏览器,访问 HTML 文件,查看控制台输出。
6. 常见问题
- 如何处理连接断开和重连? 可以在客户端代码中处理
onclose
事件,并根据需要重新建立连接。 - WebSocket 与 HTTP 的安全性? 使用
wss://
而不是ws://
来进行加密传输。
以上就是 WebSocket 的基本入门教程。如果你有更多具体问题,欢迎继续提问!
马士兵mca架构师官网版地址:
https://www.mashibing.com/subject/1?activeNav=1&courseNo=910&courseVersionId=1638
全套课程体系230多门课都有,新上车请私聊微信redis001
参考链接:
https://www.mufc360.cn/archives/msb10263
https://www.cr7mufc520.cn/archives/msb10263
https://www.vx642620018.top/articles/2024/09/11/1726022380144.html