【发布时间】:2014-02-19 19:13:20
【问题描述】:
我正在寻找rabbitmq的底层NAT穿越机制。
假设:
- 1.Server S部署在云端
- 许多客户端 C1-CN 作为客户部署,它们位于 NAT 之后。
- 服务器 S 需要通知客户端
我想知道服务器如何找到客户端的 IP/端口?它是否依赖于一种 ICE 服务器?或者它将每个客户端的 IP/ID 保存在一个大查找表 (LUT) 中。还是客户端发送大量数据包,服务器将消息放入响应数据包中?
tnx
@hardillb: 谢谢,我明白了,但是这种方法可能会给我带来严重的问题。原因是我想将它部署在超低功耗微控制器中。因此,如果我的 micro 持续向服务器发送 keep-alive 数据包,它将很快放电,因此我需要非常快速地更换电池。但在我的申请中,它应该至少持续 1 年。我想知道是否有任何方法可以防止发送此类数据包并将微机置于睡眠模式。并且只要有命令,它就可以唤醒?我听说过 CoAP(微型成为服务器),但它仍然存在 NAT 穿越问题。我想知道您是否知道解决此问题的方法?
【问题讨论】:
-
实际上,客户端与服务器建立连接,而不是服务器与客户端建立连接。 NAT 照常工作。