在Ubuntu上通过Ja vaScript使用WebSockets进行通信,其实并不复杂。下面我们一步步来搭建一个完整的WebSocket通信环境,从服务器端到客户端,都有详细的代码示例。

安装Node.js基础环境
先确保系统里安装了Node.js和npm包管理器。打开终端,直接跑下面这两条命令就搞定:
sudo apt update
sudo apt install nodejs npm
创建项目并初始化
新建一个目录专门放这个项目,比如叫websocket-demo,然后进去初始化一下:
mkdir websocket-demo
cd websocket-demo
npm init -y
这样项目的基础结构就搭好了。
安装WebSocket库
用ws这个库是最常见的选择,直接安装到项目依赖里:
npm install ws
编写WebSocket服务器
在项目目录中新建一个server.js文件,把下面的代码复制进去。这个服务器会监听8080端口,并且处理客户端连接和消息接收:
const WebSocket = require('ws');
// 创建WebSocket服务器
const wss = new WebSocket.Server({ port: 8080 });
// 监听连接事件
wss.on('connection', function connection(ws) {
console.log('客户端已连接');
// 监听消息事件
ws.on('message', function incoming(message) {
console.log('收到消息:', message);
});
// 向客户端发送消息
ws.send('你好!我是WebSocket服务器');
});
console.log('WebSocket服务器正在监听端口8080...');
启动服务器
在终端里运行下面这行命令,服务器就起来了:
node server.js
看到控制台输出“WebSocket服务器正在监听端口8080...”就说明成功了。
编写WebSocket客户端
再创建一个client.html文件,用来模拟浏览器端的连接。这个页面会在加载完成后,自动连上服务器,并收发消息:
WebSocket Demo
WebSocket Demo
检查浏览器的控制台以查看WebSocket通信。
测试连接
在浏览器里打开client.html文件,打开开发者工具的控制台,就能看到连接的日志,以及服务器和客户端之间互相发送的消息了。整个过程非常直观。
这里要说明一下,上面这个示例只是最基础的实现,实际项目中肯定需要处理更复杂的逻辑,比如错误重试、消息格式规范化、安全认证等等。但这套代码足以让你快速理解WebSocket的工作流程,上手跑起来。满足了基本需求后,再慢慢往里面加功能也不迟。