Tôi đang chơi với ổ cắm trên máy cục bộ không có kết nối mạng. Xem bên dưới:
IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works
Vậy ::1
địa chỉ IP chính xác là gì? Đó là địa chỉ IP có sẵn mặc định hay là địa chỉ lặp lại? Điều gì xảy ra với đoạn mã trên (dòng làm việc) trên một máy có địa chỉ IP chuyên dụng và kết nối mạng?
BIÊN TẬP:
mã chính xác được sử dụng để liên kết một địa chỉ IP cụ thể với ổ cắm. Nó đây:
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
là thực sự IPAddress.Parse
, chính xác?
IPAddress.Any
là::0
, Bạn nên sử dụngIPAddress.Loopback
cho kết nối cục bộ (loopback).