我不擅長網絡,所以對於一些人我的問題可能看起來很傻。我試圖從我的本地網絡以外連接到我的網絡攝像頭。我知道我需要做端口轉發。我讀過ssh可能是個好主意。想象一下,我的外部IP是10.20.30.40,我的攝像機IP本地IP是1.2.3.4。當端口轉發工作時,我認爲我將使用此地址連接到相機 「http://10.20.30.40/index1.htm」。所以我需要的是端口轉發。客戶不能自己做這件事。我需要編寫一個應用程序來自動執行此操作。我怎樣才能用c#來做這件事,而且我正朝着正確的方向前進?端口轉發攝像機ip c#
回答
使用UPnP - 通用即插即用,您可以在大多數家庭路由器的默認配置中實現此功能。
這是NAT路由器後面的應用程序的標準化機制,以編程方式請求端口轉發給它們。有關從.NET訪問UPnP功能的詳細信息,請參閱this question。您需要說服路由器將TCP端口80(HTTP的標準端口)轉發到相機的LAN IP地址。
設備可能不支持UPnP,或者它可能已經被奶奶的侄子禁用了。 – Alex
是的,它*當然可以*。因此「大多數家庭路由器的默認配置」。我猜想,在過去的5年中,全球95%以上的國內路由器都是由國內生產的。如果有人決定禁用UPnP,他們可能知道他們需要轉發一個端口。 – tomfanning
許多路由器都默認禁用UPnP(我知道我的做法)。我沒有指出它不能完成*期間*,我說的是沒有適合OP的需求的萬能解決方案。 – Alex
只有通過手動路由器配置才能完成正確配置的端口轉發。
由於邏輯和明顯的安全原因,沒有辦法繞過它。
+1驗證我的意見:) –
只是不正確。 UPnP的。 – tomfanning
所以「除了*使用公認的標準來完成這項任務,在絕大多數情況下工作之外,沒有辦法繞過它,因爲邏輯和明顯的安全原因」* – tomfanning
好的,問題解決了,當我在網頁上打開我的路由器upnp沒有加載。事實證明,相機的默認端口設置爲80.我已將其更改爲1001,然後在路由器和相機上設置爲啓用np,並自動將端口1001自動轉發給它。所有我必須做的programaticaly是相機上的端口。
在這裏,你去,thx尋求幫助 –
- 1. 如何查找IP攝像機的號碼端口?
- 2. 爲AXIS IP攝像機系統開發
- 3. 流攝像機IP emgucv
- 4. 實現IP攝像機
- 5. 尋找IP攝像機API
- 6. C#端口轉發
- 7. OpenCV和IP攝像機連接 - 我的攝像機型號
- 8. 從網絡攝像機獲取視頻/ IP攝像機
- 9. OpenCV Ip攝像機圖像惡化
- 10. 端口和IP從本地機器轉發到googel.com
- 11. 瀏覽器中的IP攝像機流
- 12. 從IP攝像機讀取h264流
- 13. FFmpeg IP攝像機的RTSP問題
- 14. c#端口轉發示例
- 15. C端口轉發問題#
- 16. Mobotix IP攝像機的OCR庫
- 17. OpenCV VideoCapture IP攝像機重新連接
- 18. OpenCV無法流式IP攝像機
- 19. 使用opencv連接到IP攝像機
- 20. FFmpeg抓取RTSP IP攝像機
- 21. 使用OpenCV訪問IP攝像機
- 22. 使用OpenCV訪問IP攝像機
- 23. FFMPEG IP攝像機流記錄
- 24. Opencv java IP攝像機mjpg流
- 25. 自動登錄到IP攝像機
- 26. IP攝像機Android應用程序
- 27. ONVIF和PTZ接入IP攝像機
- 28. IP攝像機測試地址
- 29. 端口轉發Devstack嘗試連接到本地IP而不是Swift中的端口轉發IP地址
- 30. 設置攝像機旋轉
除非他們的路由器有一個API,你可以使用..你會走錯方向。 –
我沒有關於路由器的任何信息。我所知道的是,它是網絡攝像機,我有一個應用程序在其網絡中運行24小時,這個應用程序應該負責轉發,我認爲 –
你的應用程序不能與端口轉發有關,除非應用程序運行的計算機是字面意思是進入網絡的網關(它不會成爲路由器的工作)。您需要做的是讓他們(或您)將路由器上的端口80從外部轉發到相機上的端口80。這必須在網關上完成。 –