node.js服务端向android客户端发送通知需要用到什么技术。比如用户A
加用户B
为好友,在这次用户 B
应该会收到一个通知到他的 android 设备,用户 A
想要将其添加为好友。我是 node.js 的新手,你能帮我到底应该使用什么来实现发送此类通知。
最佳答案
您可以使用 MQTT 或 AMQP 消息传递,这些都是非常灵活的技术,非常适合向客户端推送消息。
https://en.wikipedia.org/wiki/MQTT
https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol
Node.js 对两者都有很好的支持。 Android 有一个 MQTT 客户端,这里有一个示例:http://androidkt.com/android-mqtt/ .
本质上,您可以通过以下方式向客户端推送消息:
client.publish(主题、消息)。
客户会这样订阅:
client.on('message', function (topic, message) {
// Messages are Buffer objects.
console.log(message.toString())
client.end()
})
客户端将使用回调或轮询接收此信息。
这两种技术都使用一个代理作为消息的中间人。
您可以使用免费的在线代理来测试消息传递,例如mqtt://test.mosquitto.org
在 Express 中,初始化消息传递客户端后,您可以在新事件、POSTS、PUTS 等上发送消息。
app.post("/addFriend", function(req, res, next){
console.log("Friend request added");
// Write to db.
// Send a message
mqttClient.publish('friends-topic', JSON.stringify({event: 'newfriend', id: '10122', name: 'Mark' }))
res.end('ok', 200);
});
关于node.js - 如何将通知从 node.js 服务器发送到 android 客户端。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49211083/