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 değeridir.

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: {0}", e );
}
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 öğesini çağırmalısınız BindListen . Belirli bir yerel uç nokta kullanmanız gerekmediği sürece yöntemini kullanmadan Connect önce çağrısı Bind yapmanız 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 alınan 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şemeyebilirsiniz.

Bir UDP yuvası alınan paketlere ilişkin arabirim bilgilerini almak istiyorsa, yöntemin çağrılmasından SetSocketOption hemen sonra Bind yuva seçeneği ayarlı PacketInformation olarak açıkça çağrılması gerekir.

Not

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

Not

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

Not

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.

Not

Uygulamanızda ağ izlemeyi etkinleştirdiğinizde, bu üye izleme bilgilerini çıkarır. Daha fazla bilgi için bkz. .NET Framework'da Ağ İzleme.

Şunlara uygulanır

Ayrıca bkz.