HTML5WebSocket搭建教程详解
时间:2025-10-21 19:06:54 407浏览 收藏
想要构建实时通信应用吗?本文为你提供详细的HTML5 WebSocket搭建教程,让你轻松掌握前端与后端的技术要点。HTML5本身不直接提供实时通信,但通过WebSocket API,可以在浏览器和服务器之间建立全双工通信,实现真正的数据实时交互。本教程将通过前端HTML5+JavaScript和后端Node.js示例,一步步教你如何使用WebSocket。内容包括WebSocket客户端的搭建、Node.js服务器的创建与配置,以及测试与注意事项,助你快速上手WebSocket,构建高性能的实时应用,例如聊天应用、在线游戏等。立即学习,开启你的实时通信之旅!

HTML5本身不直接提供实时通信功能,但通过集成WebSocket API,可以在浏览器和服务器之间建立全双工通信通道,实现真正的实时数据交互。下面是一个基于HTML5和WebSocket的实时通信搭建教程,包含前端代码和后端Node.js示例。
什么是WebSocket?
WebSocket 是 HTML5 提供的一种在单个 TCP 连接上进行全双工通信的协议。与传统的HTTP请求不同,WebSocket连接一旦建立,客户端和服务器可以随时互相发送数据,适合聊天应用、实时通知、在线游戏等场景。
前端:HTML5 + JavaScript 搭建WebSocket客户端
使用原生JavaScript即可在HTML页面中连接WebSocket服务:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<title>WebSocket 实时通信</title>
</head>
<body>
<h2>WebSocket 客户端</h2>
<textarea id="output" rows="10" cols="50" readonly></textarea><br/>
<input type="text" id="message" placeholder="输入消息" />
<button onclick="sendMessage()">发送</button>
<button onclick="closeConnection()">关闭连接</button>
<script>
// 创建WebSocket连接(注意地址为ws或wss)
const socket = new WebSocket("ws://localhost:8080");
// 连接成功
socket.onopen = function(event) {
appendMessage("✅ 连接已建立");
};
// 接收服务器消息
socket.onmessage = function(event) {
appendMessage("? 来自服务器: " + event.data);
};
// 处理错误
socket.onerror = function(event) {
appendMessage("❌ 连接出错");
};
// 连接关闭
socket.onclose = function(event) {
appendMessage("? 连接已关闭");
};
// 发送消息
function sendMessage() {
const input = document.getElementById("message");
const msg = input.value;
if (msg) {
socket.send(msg);
appendMessage("? 我: " + msg);
input.value = "";
}
}
// 关闭连接
function closeConnection() {
socket.close();
}
// 显示消息到文本框
function appendMessage(message) {
const output = document.getElementById("output");
output.value += message + "\n";
output.scrollTop = output.scrollHeight; // 自动滚动到底部
}
</script>
</body>
</html>
后端:Node.js + ws 搭建WebSocket服务器
使用Node.js和ws库快速搭建WebSocket服务器。
步骤一:初始化项目并安装依赖
npm init -y npm install ws
步骤二:创建 server.js 文件
const WebSocket = require('ws');
// 创建WebSocket服务器,监听8080端口
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
console.log('? 客户端已连接');
// 接收客户端消息
ws.on('message', function(data) {
console.log('? 收到消息:', data.toString());
// 广播给所有连接的客户端(包括发送者)
wss.clients.forEach(function each(client) {
if (client.readyState === WebSocket.OPEN) {
client.send(`广播: ${data}`);
}
});
});
// 向客户端发送欢迎消息
ws.send('? 欢迎!你已连接到WebSocket服务器。');
});
步骤三:启动服务器
node server.js
服务器运行后,监听 ws://localhost:8080,等待客户端连接。
测试与注意事项
- 确保前后端在同一域名或允许跨域(生产环境需配置CORS)
- 使用
ws://表示非加密连接,wss://用于加密(类似HTTPS) - 浏览器需支持WebSocket(现代浏览器均支持)
- 服务器部署时建议配合Nginx反向代理,并启用WSS
- 处理连接断开、重连逻辑可提升用户体验
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
496 收藏
-
430 收藏
-
430 收藏
-
415 收藏
-
492 收藏
-
164 收藏
-
231 收藏
-
111 收藏
-
173 收藏
-
223 收藏
-
259 收藏
-
127 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习