2013-07-23 19 views
5

ho questo finora ...come usare il mio IP pubblico con HttpListener

public static HttpListener listener = new HttpListener(); 
public static string startUpPath = Application.StartupPath; 
public WebServer() 
{ 
    listener.Start(); 

    listener.Prefixes.Add("http://(here I want my public ip)/"); 
    Thread t = new Thread(new ThreadStart(clientListener)); 
    t.Start(); 
}

Ma quando ho inizializzare la classe si dice "The specified Network format is not valid"

La traduzione non può essere perfetta, perché il mio visiva la lingua dello studio è in spagnolo. Il mio ip sembra 95. ^^. ^^^. ^^ e penso che possa essere il problema perché funziona quando uso il mio ip locale.

// A cura

L'eccezione esatta è: "El especificado formato del nombre de rossi no es valido" Qual è "The specified network name is not valid". Se posso aggiungere il prefisso "http:// + :80/" è ancora in corso, ma come posso accedervi tramite il mio IP pubblico?

+0

Qual è l'eccezione esatta? –

+0

Cosa succede se si aggiunge il prefisso 'http: // +: 80 /'? – spender

+0

Non capisco il problema qui, vuoi sapere come recuperare l'IP pubblico o c'è un problema quando viene usato? – Machinegon

risposta

6

Quando si imposta questo è necessario utilizzare l'IP interno, poiché questo è l'IP effettivo che si sta ascoltando. Al fine di ottenere il traffico dall'IP esterno, è necessario inoltrarlo dal router al computer in ascolto sul suo IP interno.

Un modo per configurarlo è utilizzare il port forwarding, dal router, si dovrebbe indirizzare tutto il traffico che arriva sulla porta 80 al computer.

Maggiori informazioni: http://en.wikipedia.org/wiki/Port_forwarding

+1

In realtà sembra essere il problema del mio router perché non inoltra le porte, grazie per il vostro tempo e la vostra risposta, il vostro collegamento è piuttosto interessante e lo leggerò Jamie. –

1

Come ha detto Jamie, il vostro HttpListener deve essere associato all'indirizzo IP sulla scheda di rete in cui l'applicazione è in esecuzione. A meno che non si disponga di una scheda NIC effettivamente configurata con un IP pubblico (ad esempio, che non passa attraverso un router), il proprio indirizzo privato è quello da utilizzare.

Un modo semplice per verificare ciò è eseguire IPCONFIG e vedere quale indirizzo IP è elencato.

Problemi correlati