Socket.Bind(EndPoint) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Özel durumlar
localEP
, null
değeridir.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Ç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.