Stavo giocando con i socket sulla macchina locale senza connessione di rete. Vedi sotto:
IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works
Allora qual è esattamente l' ::1
indirizzo IP? È l'indirizzo IP disponibile predefinito o è l'indirizzo di loopback? cosa succede al codice sopra (linea di lavoro) su una macchina con indirizzo IP dedicato e connessione di rete?
MODIFICARE:
il codice esatto viene utilizzato per associare un indirizzo IP specifico al socket. Ecco qui:
ServicePoint sp = ServicePointManager.FindServicePoint(uri);
sp.BindIPEndPointDelegate = new BindIPEndPoint(Bind);
// here's the bind delegate:
private IPEndPoint Bind(ServicePoint sp, IPEndPoint ep, int retryCount)
{
return new IPEndPoint(IPAddress.Parse("::1"), 0);
}
IPAddress.Pars
sia davvero IPAddress.Parse
corretta?
IPAddress.Any
è::0
, dovresti usareIPAddress.Loopback
per la connessione locale (loopback).