Aracılığıyla paylaş


Socket.Bind(EndPoint) Yöntem

Tanım

bir Socket öğesini yerel uç noktayla ilişkilendirir.

public:
 void Bind(System::Net::EndPoint ^ localEP);
public void Bind(System.Net.EndPoint localEP);
member this.Bind : System.Net.EndPoint -> unit
Public Sub Bind (localEP As EndPoint)

Parametreler

localEP
EndPoint

ile ilişkilendirilecek yerelEndPoint.Socket

Özel durumlar

localEP, null'e eşittir.

Yuvaya erişmeye çalışılırken bir hata oluştu.

Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.

Örnekler

Aşağıdaki kod örneği, belirtilen yerel uç noktayı kullanarak bir Socket bağlar.

try {
    aSocket.Bind(anEndPoint);
}
catch (Exception e) {
    Console.WriteLine("Winsock error: " + e.ToString());
}
Try
    aSocket.Bind(anEndPoint)
Catch e As Exception
    Console.WriteLine("Winsock error: " & e.ToString())
End Try

Açıklamalar

Bind Belirli bir yerel uç nokta kullanmanız gerekiyorsa yöntemini kullanın. yöntemini çağırabilmeniz için önce çağırmalısınız BindListen . Belirli bir yerel uç nokta kullanmanız gerekmediği sürece yöntemini kullanmadan Connect önce çağırmanız Bind gerekmez. yöntemini hem bağlantısız hem de bağlantı odaklı protokollerde kullanabilirsiniz Bind .

çağrısından Bindönce, verileri iletmek istediğiniz yerel IPEndPoint değeri oluşturmanız gerekir. Hangi yerel adresin atandığını umursamıyorsanız, adres parametresi olarak bir IPEndPoint kullanarak IPAddress.Any oluşturabilirsiniz ve temel hizmet sağlayıcısı en uygun ağ adresini atar. Bu, birden çok ağ arabiriminiz varsa uygulamanızı basitleştirmeye yardımcı olabilir. Hangi yerel bağlantı noktasının kullanıldığını umursamıyorsanız, bağlantı noktası numarası için 0 kullanarak oluşturabilirsiniz IPEndPoint . Bu durumda, hizmet sağlayıcısı 1024 ile 5000 arasında kullanılabilir bir bağlantı noktası numarası atar.

Yukarıdaki yaklaşımı kullanırsanız, çağrısı yaparak hangi yerel ağ adresinin ve bağlantı noktası numarasının LocalEndPointatandığını keşfedebilirsiniz. Bağlantı odaklı bir protokol kullanıyorsanız, LocalEndPoint veya EndConnect yöntemine çağrı Connect yapana kadar yerel olarak atanan ağ adresini döndürmez. Bağlantısız bir protokol kullanıyorsanız, gönderme veya alma işlemi tamamlanana kadar bu bilgilere erişiminiz olmaz.

BIR UDP yuvası alınan paketler üzerinde arabirim bilgilerini almak istiyorsa, SetSocketOption yöntemin, yöntemi çağrıldıktan Bind hemen sonra yuva seçeneği ayarlı PacketInformation olarak açıkça çağrılması gerekir.

Uyarı

Çok noktaya yayın veri birimleri almak istiyorsanız, yöntemini çok noktaya yayın bağlantı noktası numarasıyla çağırmanız Bind gerekir.

Uyarı

yöntemini kullanarak ReceiveFrom bağlantısız veri birimleri almak istiyorsanız yöntemini çağırmalısınızBind.

Uyarı

yöntemini çağırırken Bind bir SocketException alırsanız, belirli bir hata kodunu almak için özelliğini kullanınSocketException.ErrorCode. Bu kodu aldıktan sonra, hatanın ayrıntılı açıklaması için Windows Yuvaları sürüm 2 API hata kodu belgelerine bakın.

Uyarı

Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.

Şunlara uygulanır

Ayrıca bkz.