js中express框架实现并发服务器搭建
时间: 2024-02-17 14:02:01 浏览: 29
要实现一个并发服务器,可以使用Express框架中的`socket.io`模块来实现。以下是一个简单的并发服务器的示例代码:
```js
const express = require('express');
const app = express();
const http = require('http').createServer(app);
const io = require('socket.io')(http);
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
io.on('connection', (socket) => {
console.log('客户端已连接');
// 监听客户端发送的消息
socket.on('message', (msg) => {
console.log(`接收到客户端的消息:${msg}`);
// 向客户端发送响应消息
socket.emit('response', '你好,客户端!');
});
// 监听客户端断开连接
socket.on('disconnect', () => {
console.log('客户端已断开连接');
});
});
http.listen(8888, () => {
console.log('服务器已启动,监听端口:8888');
});
```
在上面的代码中,我们使用Express框架创建了一个HTTP服务器,并使用`socket.io`模块创建了一个WebSocket服务器。当客户端连接到服务器时,`io.on('connection', callback)`函数会被调用,回调函数中的`socket`参数是一个`socket.io`对象,它表示与客户端之间的连接。
我们可以监听`socket`对象的`message`事件来接收客户端发送过来的消息,然后使用`socket.emit()`方法向客户端发送响应消息。同时,我们也需要监听`socket`对象的`disconnect`事件以处理客户端断开连接的情况。
在`app.get()`方法中,我们设置了默认的路由并返回了一个HTML文件,以便在浏览器中测试WebSocket连接。
最后,我们使用`http.listen()`方法启动服务器,并监听端口8888。
当然,上面的代码只是一个简单的示例,实际应用中需要考虑更多的因素,如错误处理、并发连接数控制等。