2013-05-28 82 views
1

我在我的android設備上製作了一個網絡服務器(使用Nanohttpd)。它的正常工作在端口8080 但我想讓它好了80端口,(我想在我的瀏覽器的磁帶:中http://192.168.x.x代替http://192.168.x.x:8080/),但我沒能做到這一點如何更改端口80 android

這是怎麼了我呼籲創建Web服務器的方法:

httpServer = new NanoHTTPD(80,Environment.getExternalStorageDirectory()); 
  • 有人能告訴我什麼服務默認情況下在端口80上運行?
  • 我該如何解決這個問題?低於1024
+0

任何錯誤信息? – greenapps

+0

你可以發佈你從哪裏得到庫,因爲你使用的構造函數似乎不是標準的NanoHTTPD構造函數。他們最初只有'NanoHTTPD(字符串主機名,INT端口)'和'NanoHTTPD(INT端口)' – JRomero

+0

我從GitHub – AndroidM

回答

2

我終於找到了一種方法來解決這個問題,對於那些誰有同樣的問題,這裏是解決方案

  • 我紮根使用UnlockRoot

  • 然後我從播放安裝Port redirector手機存儲和我轉發從端口80到端口8080的流量,現在我的web服務器可從以下地址獲得:192.168.xx

希望它會幫助:)

+0

Play商店中的替代端口重定向器:https://play.google.com/store/apps/details?id = at.bherbst.net&hl = zh_CN –

1

端口像是系統在Unix上的限制。您需要超級用戶權限才能綁定到這些「知名」端口。

wikipedia

+0

得到它,如果我是根,我怎麼能做到這一點 – AndroidM

+0

檢查這個問題:HTTP://計算器的.com/q /1321873分之7295873。在承擔超級用戶權限後,您可以直接在端口80上運行Web服務器,而無需端口轉發。 – Rajesh

+0

@Rajest - 實際上,不,這不會直接起作用(您鏈接的帖子頗具誤導性)。必須使用'su'在自己的根進程中啓動Web服務器,或者可以使用shim打開監聽套接字,然後將scoket通過unix域套接字傳遞到非根Web服務器以供使用(不確定如果可以的話) –