我正在寻找NAT穿越的狂犬病am的潜在机制。
假设:
我想知道服务器如何找到客户端的IP/端口?它依赖于一种ICE服务器吗?或者它为每个客户端节省了一个大查找表(LUT)的IP/ID。或者客户端发送大量数据包,服务器将消息放入响应包中?
tnx
@hardillb:谢谢,我明白了,但是这种方法可能会给我带来严重的问题。原因是我想把它部署在超低功耗的微控制器中。因此,如果我的微连续发送保持生存的数据包到服务器,它将很快被释放,因此我需要更换它的电池非常快。但在我的申请中,它应该持续至少1年。我想知道是否有任何方法来防止发送这样的数据包,并将微进入睡眠模式。只要有命令,它就会醒过来?我听说过CoAP (微服务器),但它仍然存在NAT穿越问题。我想知道你是否知道解决这个问题的方法?
发布于 2014-02-18 21:20:58
客户端通过nat网关打开到服务器的TCP连接。nat网关保存一个表,将从客户端到出站连接到服务器的入站连接映射,这允许返回数据包返回给客户端。
假设客户机是纯粹的订阅者(不发布任何消息),它定期发送一个保持活动的数据包,让服务器知道它仍然是连接的(这也有通过nat网关保持连接的好处)。
当服务器收到关于客户端订阅的主题的消息时,只需通过到该客户端的现有连接转发该消息。
https://stackoverflow.com/questions/21864011
复制相似问题