首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在服务器/app.js以外的路由中使用socket.io

在服务器/app.js以外的路由中使用socket.io
EN

Stack Overflow用户
提问于 2017-03-14 04:15:27
回答 1查看 392关注 0票数 1

嗨,我试图在一个文件中使用socket.io,而不是我的主server.js文件,在这里我第一次设置它是这样的:

代码语言:javascript
复制
const app = require('express')();
const http = require('http').createServer(app);
const mongoose = require('mongoose');
const io = require('socket.io')(http);

io.on('connection', (socket) => {
    console.log('a user connected');
    socket.on('disconnect', () => {
        console.log('user disconnected');
    });
});

由于我是在我的server.js文件中设置它,所以我必须侦听该文件中的事件,因此回调函数将只能访问该文件的范围。但是,我需要在我的路由中的另一个文件中使用它,例如:

代码语言:javascript
复制
app.use('/', home);

我读过thisthis两本书,没有一本书对我有帮助。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-14 06:30:40

在函数中的另一个文件中写入套接字逻辑,然后从server.js调用它。

socket.js

代码语言:javascript
复制
const io = require('socket.io');

module.exports = function(server) {
io(server).on('connection', (socket) => {
    console.log('a user connected');
    socket.on('disconnect', () => {
        console.log('user disconnected');
    });
});
}

server.js

代码语言:javascript
复制
const app = require('express')();
const http = require('http').createServer(app);
const mongoose = require('mongoose');

require("./socket")(http)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42777661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档