【发布时间】:2014-11-22 11:03:18
【问题描述】:
我们有一个在本地网络内部运行的设备,而一个 californium 服务器在网络外部的另一台机器上运行。服务器IP是公共IP。要求是当服务器收到来自设备的请求时,服务器应该向设备发送一个 GET 请求。我们在这里面临的问题是—— 当设备向服务器发送请求时,服务器看不到设备的内部IP,服务器只能看到设备的外部IP(网络的公共IP)。因此,服务器从请求中捕获 IP 和 PORT 号并创建单独的 get 请求,为其设置 IP 和端口并将请求发送到设备。该请求仅到达网络的公共 IP,无法到达设备。有什么方法可以让服务器向设备发送 GET 请求,而不是向公共 IP 发送消息?
另一件事是,当服务器向设备发送捎带支持的响应时,响应会到达设备,而不是在设备的公共 IP 处被阻止。 我正在使用以下代码向设备发送搭载响应:
handleGET(CoapExchange exchange){
exchange.respond(""); //respnoding with empty payload
}
提前谢谢...
【问题讨论】:
标签: java jakarta-ee networking network-protocols coap