所以我正在构建iOS
应用,并且我已经开始构建REST API
w / nodejs
,express
,& mongodb
。我目前正在向我的应用添加即时消息和通知,因此我一直在websockets
(socket.io
)上阅读。经过大量的阅读,老实说我无法理解这个概念以及如何集成到我的API中。
例如,我有这条API路线:
// create new message
app.post('/newmessage', function (req, res, next) {
if (!req.body.message ) {
res.json({success: false, msg: 'You must type a message.'});
console.log('message: ' + req.body.message);
} else {
var newMessage = new Message({
fromUser: ObjectID(req.params.id),
toUser: ObjectID(req.params.id),
message: String,
});
// save new message
newMessage.save(function(err) {
if (err) {
res.json({success: false, msg: 'message was unsuccessful.'});
} else {
res.json({success: true, msg: 'message sent!'});
console.log(newMessage.createdAt);
console.log(newMessage.updatedAt);
}
});
}
});
如何将socket.io集成到此特定呼叫中?我会创建一个Socket.js文件并从那里导出?后端根本不是我的事情,所以如果这是一个糟糕的问题我会道歉。谢谢!
答案 0 :(得分:6)
使用webSocket或socket.io连接进行即时消息或服务器推送通知的一般体系结构如下:
我建议使用socket.io,因为它在webSockets之上提供了许多有用的功能,并且应该有适用于您将使用的所有平台的socket.io库。 socket.io documentation包含一个可以进行聊天的演示应用,可以让您了解socket.io的工作原理。