我想在索引上添加socket.io,就像這樣我需要在這里弄清楚如何使用此代碼執行此操作,并且我想在另一個檔案中呼叫路由時發出資料我該怎么做?您可以看到我嘗試了放置套接字 io 的代碼,但我不知道有人可以幫忙嗎?這也是在后端制作的,就像這應該是一個 API,我沒有前端,這是我的問題,我從來沒有像這樣使用過 socket.io
// all the requires
require('./models/Service');
require('./models/Activities');
const express = require('express');
const app = express();
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const cors = require('cors');
const serviceRoutes = require('./routes/serviceRoutes');
const activityRoutes = require('./routes/activitiesRoutes');
const errorHandler = require('./helpers/Error-handler');
const logger = require('./config/winston');
const http = require('http').Server(app);
// all the app use
app.use(cors());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(serviceRoutes);
app.use(activityRoutes);
app.use(errorHandler);
// this calls for the users route to authenticate
app.use('/users', require('./Users/user.controller'));
// connection to database
mongoose.connection.on('connected', () => {
console.log('Connected to mongo instance');
});
mongoose.connection.on('error', err => {
console.error('Error connecting to mongo', err);
});
// server start up
const port = process.env.NODE_ENV === 'production' ? 80 : 4000;
http.listen(port, function() {
console.log('listening on ' port);
try {
logger.info('Server and Database is initiated');
}
catch (error) {
logger.error(error);
}
});
// implementation of io
const io = require("socket.io")(http);
io.on('connection', function(socket) {
console.log('A user connected');
socket.on('disconnect', function () {
console.log('A user disconnected');
});
});
app.get('/', function(req, res) {
res.send(console.log('hey', io))
});
module.exports = io;
uj5u.com熱心網友回復:
您可以讓套接字在連接時加入房間io并使用app.set('io', io). 然后可以在帶有 的控制器中訪問它req.app.get('io'),并且您可以將其發射到特定的房間。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/421975.html
標籤:
