如何从node.js服务器向安卓客户端发送通知。

3
我需要使用哪些技术才能从node.js服务器向Android客户端发送通知?例如,用户A将用户B添加为好友,在此时,用户B应收到一条通知,告知其用户A希望将其添加为好友。我对node.js不熟悉,请问您应该使用什么技术来实现发送此类通知。
2个回答

9
你可以使用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(topic,message)。
而客户端则可以订阅:
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);
});

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接