Express 从快速路线运行socket.io
我对此进行了研究,但似乎没有什么能满足我的需要。我有一条连接mongodb的快线。下面是代码的一部分Express 从快速路线运行socket.io,express,mongoose,websocket,socket.io,Express,Mongoose,Websocket,Socket.io,我对此进行了研究,但似乎没有什么能满足我的需要。我有一条连接mongodb的快线。下面是代码的一部分 const express = require('express'); const socketIo = require("socket.io"); const dbconnect = require("./models"); const handle = require("./handlers"); const routes = re
const express = require('express');
const socketIo = require("socket.io");
const dbconnect = require("./models");
const handle = require("./handlers");
const routes = require("./routes");
const app = express();
app.use('/messages', routes.messages);
const PORT = 3000;
const server = app.listen(3000, function() {
console.log(`Listening on 3000`);
dbconnect().then(() => {
console.log("MongoDb connected");
});
});
const io = socketIo(server);
io.on('connection', function(client) {
console.log('Connected...');
});
我的路线如下所示:
const router = require('express').Router();
const handle = require('../handlers/messages');
router.post('/unread_messages', handle.unread_messages);
module.exports = router;
const db = require("../models");
exports.unread_messages = async (req, res, next) => {
try {
const unreadmessages = await db.messages.countDocuments({ $and: [{receiver: req.body.receiver},
{ messageread: false }]});
return res.json({ unreadmessages });
} catch (err) {
return next({ status: 400, message: `Cannot get unread messages ${err}` });
}
};
我的处理程序如下所示:
const router = require('express').Router();
const handle = require('../handlers/messages');
router.post('/unread_messages', handle.unread_messages);
module.exports = router;
const db = require("../models");
exports.unread_messages = async (req, res, next) => {
try {
const unreadmessages = await db.messages.countDocuments({ $and: [{receiver: req.body.receiver},
{ messageread: false }]});
return res.json({ unreadmessages });
} catch (err) {
return next({ status: 400, message: `Cannot get unread messages ${err}` });
}
};
我想将套接字添加到“/unread_messages”路由,以便实时更新未读邮件的数量。我该怎么做