我们有一台在本地网络内部运行的设备,而server服务器在该网络外部的另一台计算机上运行。服务器IP是公共IP。要求是,当服务器收到设备发出的请求时,服务器应以GET请求响应设备。我们在这里面临的问题是-当设备向服务器发送请求时,服务器看不到设备的内部ip,服务器只能看到设备的外部IP(网络的公共IP)。因此,服务器正在从请求中捕获IP和PORT编号,并创建单独的get请求,为其设置IP和端口,然后将请求发送至设备。该请求仅到达网络的公共IP,而无法到达设备。
还有一件事是,当服务器将附带的响应发送到设备时,响应到达设备,而不是在设备的公共IP处被阻止。我正在使用以下代码将搭载响应发送到设备:
handleGET(CoapExchange exchange){
exchange.respond(""); //respnoding with empty payload
}
提前致谢 ...
如果您在不到30秒的时间内将邮件发送回客户端,则该方法应该起作用。这就是我们对乐山http://github.com/eclipse/leshan的处理。它使用Californium来实现轻量级M2M,并且正在以您想要实现的方式工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句