gpt4 book ai didi

ios - 将 socket.io 集成到 REST API 中

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:59 24 4
gpt4 key购买 nike

所以我正在构建一个 iOS应用程序,我已经开始构建 REST APInodejs , 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 文件并从那里导出吗?后端根本不是我的专长,所以如果这是一个糟糕的问题,我深表歉意。谢谢!

最佳答案

使用 webSocket 或 socket.io 连接进行即时消息传递或服务器推送通知的一般架构如下:

  1. 每个客户端都与服务器建立 webSocket 或 socket.io 连接。
  2. 服务器正在监听这些传入连接,并在初始连接上使用某种 Cookie 来识别正在连接的用户。
  3. 然后,服务器在用户 session 期间保持这些连接打开,并监听这些连接上的传入消息。
  4. 任何时候,如果服务器希望向客户端发送通知,它都可以找到属于所需客户端的连接并在该连接上发送消息。
  5. 客户端将监听传入消息并接收该消息,然后可以对其进行处理。
  6. 对于即时消息传递,客户端会向服务器发送一条消息,该消息本质上是“将此消息发送给 Bob”(其中 Bob 是系统上其他用户的某个用户 ID)。服务器将从另一个客户端接收该消息,然后找到 Bob 的连接并将消息发送给该连接上的 Bob。

我建议使用socket.io,因为它在webSockets之上提供了许多有用的功能,并且应该有适用于您将使用的所有平台的socket.io库。 socket.io documentation包括一个可以聊天的演示应用程序,它可以让您了解如何使用 socket.io。

关于ios - 将 socket.io 集成到 REST API 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38468235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com