2012-02-25 16 views
2

我想創建一個URL網站作爲我IP地址 [例如:192.XXX]使用httpListener創建具有URL作爲我的IP地址定義網站

該網站將與「迴應HELLO THERE「給任何訪問我的網址的用戶。

我用下面的代碼來做到這一點![它只是不帶螺紋的基本代碼]

class listenToHTTP 
{ 
    HttpListener _listner; 
    public void start() 
    { 
     _listner = new HttpListener(); 
     _listner.Prefixes.Add("http://localhost/");//default port 80 
     _listner.Start(); 
    } 
    public void process() 
    { 
     while (true) 
     { 
      HttpListenerContext context = _listner.GetContext(); 
      byte[] output = Encoding.ASCII.GetBytes("HELLO THERE"); 
      context.Response.ContentEncoding = Encoding.ASCII; 
      context.Response.ContentLength64 = output.Length; 
      context.Response.OutputStream.Write(output, 0, output.Length); 

      } 
    } 
} 

的問題是,我不知道IP地址通過這些人會訪問。

當我使用http:// localhost/作爲URL時,它完美地顯示響應「HELLO THERE」。

但是什麼IP地址將其他人使用,以便他們可以訪問我的簡單網站。

我試過了我的IP地址在瀏覽器中,但它不起作用

回答

0

的問題是,我是指一個private network地址,該地址是localnetwork並且不能由任何人private network訪問..

這些是ip-address範圍這是用於私人網絡,所以這個地址的系統不能是一個服務器或主機的網站..

10.0.0.0 to 10.255.255.255 

172.16.0.0 to 172.31.255.255 

192.168.0.0 to 192.168.255.255 

你應該使用公共地址..

4

這樣做時有兩件事需要注意;

  • 如果你聽一個本地主機地址,只有本地主機將能夠連接到你的HttpListener。您需要添加一個前綴http://192.X.X.X/(其中192.X.X.X當然是您的本地IP)並聽取它。這可能(取決於您的操作系統)要求您以管理員身份運行,至少如果您想在端口< 1024上執行此操作,則可以通過從本地計算機而不是本地主機連接到IP#地址。

  • 如果您正在運行Windows,防火牆可能會妨礙您的工作。如果它似乎(即你可以從本地機器連接到你的IP#但沒有其他東西可以連接),你需要手動打開端口。有很多指導如何在Google上做到這一點。

+0

@Anirudha你可以顯示你的代碼嗎?您需要添加兩個單獨的前綴,一個用於localhost(如果您想要聽),另一個用於182.X.X.X.您只能添加實際分配給您計算機的地址,例如,如果您的計算機具有192.xxx地址並位於IP爲182​​.xxx的端口轉發代理之後,則無法將182.xxx地址添加爲前綴聽。 – 2012-02-25 17:12:10

+1

@Airirha另一個提示是,你可以添加一個前綴'http:// +:80'來立即偵聽分配給你的計算機的所有地址的端口80。 – 2012-02-25 17:16:19

+0

實際上我使用h ** p://182.X.X.X/localhost/而不是h ** p:// localhost /但仍然沒有結果! – Anirudha 2012-02-25 17:29:24

1

@Joachim回覆已經足夠好了。我想添加更多...

  1. 您需要公開以上提到的IP地址以獲取其他人可訪問的URL。
  2. 如果僅向您的域公開URL(即Intranet),請諮詢您的系統管理員以在Intranet上配置IP地址。
  3. 本地主機設置可訪問性僅限於您的機器。
  4. 確保檢查防火牆約束的URL訪問性實施點1或2

欲瞭解更多信息,請查看HTTPListener爲參考

  1. HTTPListener
  2. HTTPListener
  3. HTTPListener
+0

我有一個私人公司brodband ..是代理服務器的ip地址! – Anirudha 2012-02-25 19:48:38

+1

您需要一個可供其他人訪問的IP地址(公開曝光)。所以你可以在那裏託管你的應用程序.. – Pankaj 2012-02-25 19:56:57