Socket.Accept Yöntem

Tanım

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.

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.

Şunlara uygulanır

Ayrıca bkz.