node.js - 使用节点 js 创建实时连接
问题描述
抱歉,我搜索了我的问题,但没有找到任何有用的答案。
我想使用节点 js 在 android 设备和树莓派之间创建实时连接。每个 android 设备都可以向某些特定的覆盆子发送消息。所以我认为我需要监控 android 设备想要发送到 respberry 的每条消息,如果不允许,我应该阻止它的连接。我对socket.io有所了解,我想我可以用它来做到这一点。这些是我的问题。
1 - 恶意用户可以嗅探socket.io发送和接收的数据包吗?如果他们可以,我应该怎么做才能阻止这种情况发生。
2 - 如果用户连接到不允许的主题,我需要知道是否可以断开用户与服务器的连接
3 - 我听说rabbitmq是实现这个系统的不错选择。我已经阅读了它的教程,但我不太明白什么时候应该使用 RMQ,什么时候应该使用 socket.io。我应该在这个项目中使用哪个
4 - 如果我要使用 RMQ 来实现它,我想我需要知道如何防止用户连接到不允许的主题
先感谢您
解决方案
- 使用 WSS 进行安全的 WebSocket 连接。
- 是的你可以。
- 我不明白你为什么需要RMQ。
- 见 3 号
我使用一个名为FeathersJS的库,它拥有你需要的一切(IMO)。FeathersJS 作为客户端库以及与服务器无缝连接/执行操作。
我使用 FeathersJS 创建了一个实时的 react-native (android)。Feathers 有一个通道(房间)的概念,您可以在其中添加或删除任何连接。
我不确定是否有任何适合 Java 的 WebSocket 客户端。
推荐阅读
- xslt - 使用 XSLT 展平:我想将一种元素移动一层
- java - 如何查看我的 Java 代码如何转换为二进制文件?
- sql - MariaDB - 无法创建具有两个外键的表
- javascript - 如何将带有数学符号的字符串转换为数字?
- python - 在 Tkinter 中刷新 BeautifulSoup
- javascript - 如何构建数组列表并将 [abcd] 等数据转换为 ["a", "b", "c"]
- windows-7 - Inno Setup - 尝试将文件夹移动到 \system32 中的组策略
- javascript - 在ajax调用后渲染html组件用javascript更改其变量
- javascript - js 行导致它上面的代码不执行
- java - 仅在签名后才允许 jar 运行