Node.js Express socket.io 端口 3000 正在使用

作者:编程家 分类: 编程代码 时间:2025-10-12

Node.js Express和Socket.io的使用

Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以在服务器端运行JavaScript代码。它提供了一种轻量级且高效的方式来构建可扩展的网络应用程序。而Express是一个简洁而灵活的Node.js Web应用框架,可以帮助我们快速构建各种类型的Web应用。

在使用Node.js和Express构建Web应用的过程中,我们有时会遇到需要实时通信的需求。这时,Socket.io就成为了我们的首选。Socket.io是一个基于事件驱动的实时双向通信库,可以在Web浏览器和服务器之间建立实时、持久的连接。

案例代码:

首先,我们需要安装Node.js和Express。在终端中执行以下命令:

$ npm install express

接下来,我们需要安装Socket.io。在终端中执行以下命令:

$ npm install socket.io

在我们的Express应用中,我们需要创建一个服务器并监听3000端口。我们可以使用以下代码创建一个Express应用:

javascript

const express = require('express');

const app = express();

const server = app.listen(3000, () => {

console.log('Server is running on port 3000');

});

接着,我们需要将Socket.io与我们的Express应用连接起来。我们可以使用以下代码实现:

javascript

const socket = require('socket.io');

const io = socket(server);

io.on('connection', (socket) => {

console.log('A new user connected');

socket.on('disconnect', () => {

console.log('A user disconnected');

});

});

上述代码中,我们首先导入Socket.io库,并将其与我们的Express服务器实例关联起来。然后,我们通过监听`connection`事件来处理新用户连接的情况,并通过监听`disconnect`事件来处理用户断开连接的情况。

实时通信示例:

在我们的Express应用中,我们可以使用Socket.io来实现实时通信。下面是一个简单的示例,展示了如何使用Socket.io发送和接收实时消息:

javascript

// 服务器端代码

io.on('connection', (socket) => {

socket.on('chat message', (msg) => {

io.emit('chat message', msg);

});

});

// 客户端代码

const socket = io();

$('form').submit((e) => {

e.preventDefault();

socket.emit('chat message', $('#m').val());

$('#m').val('');

return false;

});

socket.on('chat message', (msg) => {

$('#messages').append($('
  • ').text(msg));

    });

  • 在上述示例中,当用户在客户端输入消息并按下回车键时,客户端会将消息发送给服务器。服务器接收到消息后,会将其广播给所有已连接的客户端。客户端收到消息后,会将其显示在页面上。

    Node.js Express和Socket.io是构建实时通信应用的强大工具。通过结合使用它们,我们可以轻松地构建具有实时功能的Web应用。无论是聊天应用、实时协作工具还是实时数据监控系统,Node.js Express和Socket.io都能帮助我们快速实现。