21xrx.com
2024-11-22 01:43:20 Friday
登录
文章检索 我的文章 写文章
Node.js搭建WebSocket服务器
2023-07-06 12:55:13 深夜i     --     --
Node js WebSocket 服务器 搭建 实时通信

Node.js是目前非常流行的一个后端JavaScript框架,其强大的异步I/O特性使得它非常适合构建高性能的网络应用。WebSocket是一种全双工、双向通信的网络传输协议,通过它可以实现实时通信,比如在线聊天、多人游戏等。本文将介绍使用Node.js搭建WebSocket服务器的方法。

首先,我们需要安装Node.js和WebSocket模块。Node.js的安装可以到官网下载对应平台的安装包,安装完成后,打开终端输入以下命令安装WebSocket模块:


npm install websocket

安装完成后,我们可以开始编写代码。以下是一个简单的WebSocket服务器代码:


const WebSocket = require('websocket').server;

const http = require('http');

const server = http.createServer((request, response) => {

 console.log('Received request.');

});

server.listen(8080, () => {

 console.log('Server started on port 8080.');

});

const ws = new WebSocket(

 httpServer: server);

ws.on('connect', (connection) => {

 console.log('WebSocket connection established.');

 

 connection.on('message', (message) => {

  console.log(`Received message: ${message.utf8Data}`);

 });

 connection.on('close', () => {

  console.log('WebSocket connection closed.');

 });

});

以上代码通过创建HTTP服务器,并在监听8080端口后,在该端口上创建WebSocket服务器,使其可以接收客户端的WebSocket连接请求。当连接建立时,服务器会输出'WebSocket connection established.',并在接收到客户端发来的消息时,输出'Received message: '和消息内容。最后,当连接关闭时,服务器会输出'WebSocket connection closed.'。

在编写好代码后,我们可以使用浏览器的WebSocket API进行测试。打开浏览器的开发者工具,输入以下代码:


const ws = new WebSocket('ws://localhost:8080');

ws.onopen = () => {

 console.log('WebSocket connection established.');

 ws.send('Hello, server!');

};

ws.onmessage = (event) => {

 console.log(`Received message: ${event.data}`);

};

ws.onclose = () => {

 console.log('WebSocket connection closed.');

};

以上代码创建了一个WebSocket对象,指定其连接的服务器地址和端口号,并在连接建立时,通过send()方法将一个字符串发送给服务器。服务器收到消息后,在终端输出'Received message: Hello, server!'。这表明WebSocket连接建立成功,并且客户端和服务器之间可以进行双向通信了。

综上,我们可以使用Node.js和WebSocket模块,轻松地搭建自己的WebSocket服务器,并进行实时通信。WebSocket是一种非常实用的网络协议,可以被广泛用于在线游戏、在线聊天等实时性要求较高的应用中。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复