Socket.Accept 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.
Yeni oluşturulan bağlantı için yeni Socket bir oluşturur.
public:
System::Net::Sockets::Socket ^ Accept();
public System.Net.Sockets.Socket Accept ();
member this.Accept : unit -> System.Net.Sockets.Socket
Public Function Accept () As Socket
Döndürülenler
Socket Yeni oluşturulan bağlantı için A.
Özel durumlar
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Kabul eden yuva bağlantıları dinlemiyor. ve çağrısı yapmadan önce öğesini aramalısınız Bind(EndPoint)Listen(Int32)Accept().
Örnekler
Aşağıdaki kod örneği basit Socket bir bağlantıyı kabul eder.
protected:
void AcceptMethod( Socket^ listeningSocket )
{
Socket^ mySocket = listeningSocket->Accept();
}
protected void AcceptMethod(Socket listeningSocket)
{
Socket mySocket = listeningSocket.Accept();
}
Protected Sub AcceptMethod(listeningSocket As Socket)
Dim mySocket As Socket = listeningSocket.Accept()
End Sub
Açıklamalar
Accept dinleme yuvasının bağlantı isteği kuyruğundan bekleyen ilk bağlantı isteğini zaman uyumlu olarak ayıklar ve ardından yeni Socketbir oluşturur ve döndürür. Bağlantı kuyruğundan gelen ek bağlantıları kabul etmek için döndürülen Socket bunu kullanamazsınız. Ancak, uzak konağın RemoteEndPoint ağ adresini ve bağlantı noktası numarasını tanımlamak için döndürülen Socket yöntemini çağırabilirsiniz.
Engelleme modunda, Accept gelen bağlantı girişimi kuyruğa alınana kadar engeller. Bağlantı kabul edildikten sonra özgün bağlantı, Socket siz kapatana kadar gelen bağlantı isteklerini kuyruğa alır.
Engelleyici Socketolmayan bir kullanarak bu yöntemi çağırırsanız ve kuyruğa hiçbir bağlantı isteği kuyruğa alınmazsa, Accept bir SocketExceptionoluşturur. bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.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
yöntemini çağırmadan Accept önce gelen bağlantı isteklerini dinlemek ve kuyruğa almak için yöntemini çağırmanız Listen gerekir.
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.