簡體   English   中英

如何從 coap 服務器向在本地網絡之外運行的設備發送 GET 請求?

[英]How to send a GET request from a coap server to a device running outside of local network?

我們有一個在本地網絡內部運行的設備,一個 californium 服務器在網絡外部的單獨機器上運行。 服務器IP是公共IP。 要求是當服務器收到來自設備的請求時,服務器應該向設備響應 GET 請求。 我們在這里面臨的問題是——當設備向服務器發送請求時,服務器看不到設備的內部IP,服務器只能看到設備的外部IP(網絡的公共IP)。 因此,服務器從請求中捕獲 IP 和 PORT 編號並創建單獨的 get 請求,為其設置 IP 和端口並將請求發送到設備。 請求只能到達網絡的公共 IP,無法到達設備。 有什么方法可以讓服務器將 GET 請求發送到設備而不是將消息發送到公共 IP?

另一件事是,當服務器向設備發送搭載響應的設備時,響應會到達設備,而不是在設備的公共 IP 處被阻止。 我是,使用以下代碼向設備發送搭載響應:

handleGET(CoapExchange exchange){
    exchange.respond("");   //respnoding with empty payload

}

提前致謝 ...

如果您在 30 秒內將消息發送回客戶端,這應該可以工作。 這就是我們對 leshan http://github.com/eclipse/leshan所做的。 它使用 Californium 來實現輕量級 M2M,它的工作方式與您要實現的目標相似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM