2012-11-22 112 views
0

我不擅長網絡,所以對於一些人我的問題可能看起來很傻。我試圖從我的本地網絡以外連接到我的網絡攝像頭。我知道我需要做端口轉發。我讀過ssh可能是個好主意。想象一下,我的外部IP是10.20.30.40,我的攝像機IP本地IP是1.2.3.4。當端口轉發工作時,我認爲我將使用此地址連接到相機 「http://10.20.30.40/index1.htm」。所以我需要的是端口轉發。客戶不能自己做這件事。我需要編寫一個應用程序來自動執行此操作。我怎樣才能用c#來做這件事,而且我正朝着正確的方向前進?端口轉發攝像機ip c#

+0

除非他們的路由器有一個API,你可以使用..你會走錯方向。 –

+0

我沒有關於路由器的任何信息。我所知道的是,它是網絡攝像機,我有一個應用程序在其網絡中運行24小時,這個應用程序應該負責轉發,我認爲 –

+0

你的應用程序不能與端口轉發有關,除非應用程序運行的計算機是字面意思是進入網絡的網關(它不會成爲路由器的工作)。您需要做的是讓他們(或您)將路由器上的端口80從外部轉發到相機上的端口80。這必須在網關上完成。 –

回答

3

使用UPnP - 通用即插即用,您可以在大多數家庭路由器的默認配置中實現此功能。

這是NAT路由器後面的應用程序的標準化機制,以編程方式請求端口轉發給它們。有關從.NET訪問UPnP功能的詳細信息,請參閱this question。您需要說服路由器將TCP端口80(HTTP的標準端口)轉發到相機的LAN IP地址。

+0

設備可能不支持UPnP,或者它可能已經被奶奶的侄子禁用了。 – Alex

+0

是的,它*當然可以*。因此「大多數家庭路由器的默認配置」。我猜想,在過去的5年中,全球95%以上的國內路由器都是由國內生產的。如果有人決定禁用UPnP,他們可能知道他們需要轉發一個端口。 – tomfanning

+0

許多路由器都默認禁用UPnP(我知道我的做法)。我沒有指出它不能完成*期間*,我說的是沒有適合OP的需求的萬能解決方案。 – Alex

0

只有通過手動路由器配置才能完成正確配置的端口轉發。

由於邏輯和明顯的安全原因,沒有辦法繞過它。

+0

+1驗證我的意見:) –

+1

只是不正確。 UPnP的。 – tomfanning

+0

所以「除了*使用公認的標準來完成這項任務,在絕大多數情況下工作之外,沒有辦法繞過它,因爲邏輯和明顯的安全原因」* – tomfanning

0

好的,問題解決了,當我在網頁上打開我的路由器upnp沒有加載。事實證明,相機的默認端口設置爲80.我已將其更改爲1001,然後在路由器和相機上設置爲啓用np,並自動將端口1001自動轉發給它。所有我必須做的programaticaly是相機上的端口。

+0

在這裏,你去,thx尋求幫助 –