使用节点 js 创建实时连接

creating a real time connection using node js

抱歉,我搜索了我的问题,但没有找到任何有用的答案。

我想使用节点 js 在 android 设备和树莓派之间创建实时连接。 每个 android 设备都可以向一些特定的树莓派发送消息。所以我想我需要监控 android 设备想要发送到 respberry 的每条消息,如果不允许我应该阻止它的连接。 我对 socket.io 有所了解,我想我可以用它来做这件事。 这些是我的问题。

1 - 恶意用户可以嗅探 socket.io 发送和接收的数据包吗?如果他们可以,我应该怎么做才能阻止这种情况发生。

2 - 如果用户连接到不允许的主题,我需要知道我是否可以断开用户与服务器的连接

3 - 我听说 rabbitmq 是实现这个系统的不错选择。我已经阅读了它的教程,但我不太明白什么时候应该使用 RMQ 以及什么时候应该使用 socket.io。我应该在这个项目中使用哪个

4 - 如果我再次使用 RMQ 实现此功能,我想我需要知道如何防止用户连接到不允许的主题

提前致谢

  1. 使用 WSS 进行安全的 WebSocket 连接。
  2. 是的,你可以。
  3. 我不明白你为什么需要 RMQ。
  4. 见第 3 条

我使用名为 FeathersJS 的库,它拥有您需要的一切 (IMO)。 FeathersJS 作为客户端库以及 connect/perform 与服务器无缝操作。

我使用 FeathersJS 创建了一个实时 react-native (android)。 Feathers 有一个 channel(房间)的概念,您可以在其中添加或删除任何连接。

I am not sure if there is any decent WebSocket client for Java.