Socket.BeginAccept Yöntem

Tanım

Gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır.

Aşırı Yüklemeler

BeginAccept(AsyncCallback, Object)

Gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır.

BeginAccept(Int32, AsyncCallback, Object)

Gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır ve istemci uygulaması tarafından gönderilen ilk veri bloğunu alır.

BeginAccept(Socket, Int32, AsyncCallback, Object)

Belirtilen yuvadan gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır ve istemci uygulaması tarafından gönderilen ilk veri bloğunu alır.

BeginAccept(AsyncCallback, Object)

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

Gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır.

public:
 IAsyncResult ^ BeginAccept(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (AsyncCallback callback, object state);
member this.BeginAccept : AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (callback As AsyncCallback, state As Object) As IAsyncResult

Parametreler

callback
AsyncCallback

Temsilci AsyncCallback .

state
Object

Bu istek için durum bilgilerini içeren bir nesne.

Döndürülenler

IAsyncResult Zaman uyumsuz Socket oluşturmaya başvuran bir.

Özel durumlar

Socket Nesne kapatıldı.

Kabul eden yuva bağlantıları dinlemiyor. çağrısı yapmadan önce ve Listen(Int32) öğesini çağırmalısınız Bind(EndPoint)BeginAccept(AsyncCallback, Object).

-veya-

Kabul edilen yuva bağlı.

receiveSize 0'dan küçüktür.

Yalnızca .NET Framework ve .NET 5 ve öncesi: Yuvaya erişmeye çalışılırken bir hata oluştu.

Açıklamalar

Önemli

Bu bir uyumluluk API'sidir. Yeni geliştirme için APM (Begin* ve End*) yöntemlerini kullanmanızı önermiyoruz. Bunun yerine tabanlı eşdeğerleri kullanın Task.

Bağlantı odaklı protokoller, gelen bağlantı girişimlerini kabul etmeye başlamak için yöntemini kullanabilir BeginAccept . yöntemini çağırmadan BeginAccept önce gelen bağlantı isteklerini dinlemek ve kuyruğa almak için yöntemini çağırmanız Listen gerekir.

Kabul etme işleminin tamamlanması hakkında bildirim almak için öğesini uygulayan AsyncCallbackBeginAccept bir geri çağırma geçirebilirsiniz. Temel alınan ağ yığını işlemi zaman uyumlu bir şekilde tamamlarsa, çağrısı sırasında geri çağırmanın BeginAcceptsatır içinde yürütülebileceğini unutmayın. Bu durumda, döndürülen IAsyncResult üzerindeki özelliği yöntemin CompletedSynchronously zaman uyumlu olarak tamamlandığını belirtmek için olarak ayarlanırtrue. yöntemine AsyncState geçirilen durum nesnesini almak için BeginAccept özelliğini IAsyncResult kullanın.

İşlemin BeginAccept yöntemi çağrılarak EndAccept tamamlanması gerekir. Yöntem genellikle sağlanan AsyncCallback temsilci tarafından çağrılır. EndAccept işlem tamamlanana kadar çağıran iş parçacığını engeller.

yöntemine yapılan bekleyen çağrıyı BeginAccept iptal etmek için öğesini Socketkapatın. Close Zaman uyumsuz bir işlem devam ederken yöntemi çağrıldığında, yöntemine BeginAccept sağlanan geri çağırma çağrılır. Yöntemine yapılan EndAccept sonraki bir çağrı, işlemin iptal edildiğini belirtmek için bir ObjectDisposedException (.NET 7'den önce) veya SocketException bir (.NET 7+'da) oluşturur.

Not

Uzak konağın RemoteEndPoint ağ adresini ve bağlantı noktası numarasını tanımlamak için döndürülen Socket özelliğini kullanabilirsiniz.

Not

bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode .

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.

Not

Yürütme bağlamı (güvenlik bağlamı, kimliğine bürünülen kullanıcı ve çağırma bağlamı) zaman uyumsuz Socket yöntemler için önbelleğe alınır. Belirli bir bağlamın (belirli bir zaman uyumsuz Socket yöntem, belirli bir örnek ve belirli Socket bir geri çağırma) ilk kullanımından sonra, bu bağlamın sonraki kullanımları bir performans geliştirmesi görecektir.

Ayrıca bkz.

Şunlara uygulanır

BeginAccept(Int32, AsyncCallback, Object)

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

Gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır ve istemci uygulaması tarafından gönderilen ilk veri bloğunu alır.

public:
 IAsyncResult ^ BeginAccept(int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

Parametreler

receiveSize
Int32

Gönderenden kabul edilecek bayt sayısı.

callback
AsyncCallback

Temsilci AsyncCallback .

state
Object

Bu istek için durum bilgilerini içeren bir nesne.

Döndürülenler

IAsyncResult Zaman uyumsuz Socket oluşturmaya başvuran bir.

Özel durumlar

Socket Nesne kapatıldı.

Kabul eden yuva bağlantıları dinlemiyor. çağrısı yapmadan önce ve Listen(Int32) öğesini çağırmalısınız Bind(EndPoint)BeginAccept(AsyncCallback, Object).

-veya-

Kabul edilen yuva bağlı.

receiveSize 0'dan küçüktür.

Yalnızca .NET Framework ve .NET 5 ve öncesi: Yuvaya erişmeye çalışılırken bir hata oluştu.

Açıklamalar

Önemli

Bu bir uyumluluk API'sidir. Yeni geliştirme için APM (Begin* ve End*) yöntemlerini kullanmanızı önermiyoruz. Bunun yerine tabanlı eşdeğerleri kullanın Task.

Bağlantı odaklı protokoller, gelen bağlantı girişimlerini kabul etmeye başlamak için yöntemini kullanabilir BeginAccept . yöntemini çağırmadan BeginAccept önce gelen bağlantı isteklerini dinlemek ve kuyruğa almak için yöntemini çağırmanız Listen gerekir.

Kabul etme işleminin tamamlanması hakkında bildirim almak için öğesini uygulayan AsyncCallbackBeginAccept bir geri çağırma geçirebilirsiniz. Temel alınan ağ yığını işlemi zaman uyumlu bir şekilde tamamlarsa, çağrısı sırasında geri çağırmanın BeginAcceptsatır içinde yürütülebileceğini unutmayın. Bu durumda, döndürülen IAsyncResult üzerindeki özelliği yöntemin CompletedSynchronously zaman uyumlu olarak tamamlandığını belirtmek için olarak ayarlanırtrue. yöntemine AsyncState geçirilen durum nesnesini almak için BeginAccept özelliğini IAsyncResult kullanın.

İşlemin BeginAccept yöntemi çağrılarak EndAccept tamamlanması gerekir. Yöntem genellikle sağlanan AsyncCallback temsilci tarafından çağrılır. EndAccept işlem tamamlanana kadar çağıran iş parçacığını engeller.

yöntemine yapılan bekleyen çağrıyı BeginAccept iptal etmek için öğesini Socketkapatın. Close Zaman uyumsuz bir işlem devam ederken yöntemi çağrıldığında, yöntemine BeginAccept sağlanan geri çağırma çağrılır. Yöntemine yapılan EndAccept sonraki bir çağrı, işlemin iptal edildiğini belirtmek için bir ObjectDisposedException (.NET 7'den önce) veya SocketException bir (.NET 7+'da) oluşturur.

Not

Uzak konağın RemoteEndPoint ağ adresini ve bağlantı noktası numarasını tanımlamak için döndürülen Socket özelliğini kullanabilirsiniz.

Not

bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode .

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.

Not

Yürütme bağlamı (güvenlik bağlamı, kimliğine bürünülen kullanıcı ve çağırma bağlamı) zaman uyumsuz Socket yöntemler için önbelleğe alınır. Belirli bir bağlamın (belirli bir zaman uyumsuz Socket yöntem, belirli bir örnek ve belirli Socket bir geri çağırma) ilk kullanımından sonra, bu bağlamın sonraki kullanımları bir performans geliştirmesi görecektir.

Ayrıca bkz.

Şunlara uygulanır

BeginAccept(Socket, Int32, AsyncCallback, Object)

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

Belirtilen yuvadan gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır ve istemci uygulaması tarafından gönderilen ilk veri bloğunu alır.

public:
 IAsyncResult ^ BeginAccept(System::Net::Sockets::Socket ^ acceptSocket, int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket? acceptSocket, int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket acceptSocket, int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : System.Net.Sockets.Socket * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (acceptSocket As Socket, receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

Parametreler

acceptSocket
Socket

Kabul edilen Socket nesne. Bu değer olabilir null.

receiveSize
Int32

Alınacak en fazla bayt sayısı.

callback
AsyncCallback

Temsilci AsyncCallback .

state
Object

Bu istek için durum bilgilerini içeren bir nesne.

Döndürülenler

IAsyncResult Zaman uyumsuz Socket nesne oluşturmaya başvuran bir nesne.

Özel durumlar

Socket Nesne kapatıldı.

Kabul eden yuva bağlantıları dinlemiyor. çağrısı yapmadan önce ve Listen(Int32) öğesini çağırmalısınız Bind(EndPoint)BeginAccept(AsyncCallback, Object).

-veya-

Kabul edilen yuva bağlı.

receiveSize 0'dan küçüktür.

Yalnızca .NET Framework ve .NET 5 ve öncesi: Yuvaya erişmeye çalışılırken bir hata oluştu.

Açıklamalar

Önemli

Bu bir uyumluluk API'sidir. Yeni geliştirme için APM (Begin* ve End*) yöntemlerini kullanmanızı önermiyoruz. Bunun yerine tabanlı eşdeğerleri kullanın Task.

Bağlantı odaklı protokoller, gelen bağlantı girişimlerini kabul etmeye başlamak için yöntemini kullanabilir BeginAccept . Sonuçta elde edilen kabul etme işlemi, zaman uyumlu olarak tamamlansa bile döndürülen IAsyncResult ile temsil edilir. yöntemini çağırmadan BeginAccept önce gelen bağlantı isteklerini dinlemek ve kuyruğa almak için yöntemini çağırmanız Listen gerekir.

Kabul etme işleminin tamamlanması hakkında bildirim almak için öğesini uygulayan AsyncCallbackBeginAccept bir geri çağırma geçirebilirsiniz. Temel alınan ağ yığını işlemi zaman uyumlu bir şekilde tamamlarsa, çağrısı sırasında geri çağırmanın BeginAcceptsatır içinde yürütülebileceğini unutmayın. Bu durumda, döndürülen IAsyncResult üzerindeki özelliği yöntemin CompletedSynchronously zaman uyumlu olarak tamamlandığını belirtmek için olarak ayarlanırtrue. yöntemine AsyncState geçirilen durum nesnesini almak için BeginAccept özelliğini IAsyncResult kullanın.

İşlemin BeginAccept yöntemi çağrılarak EndAccept tamamlanması gerekir. Yöntem genellikle sağlanan AsyncCallback temsilci tarafından çağrılır. EndAccept işlem tamamlanana kadar çağıran iş parçacığını engeller.

yöntemine yapılan bekleyen çağrıyı BeginAccept iptal etmek için öğesini Socketkapatın. Close Zaman uyumsuz bir işlem devam ederken yöntemi çağrıldığında, yöntemine BeginAccept sağlanan geri çağırma çağrılır. Yöntemine yapılan EndAccept sonraki bir çağrı, işlemin iptal edildiğini belirtmek için bir ObjectDisposedException (.NET 7'den önce) veya SocketException bir (.NET 7+'da) oluşturur.

Not

Uzak konağın RemoteEndPoint ağ adresini ve bağlantı noktası numarasını tanımlamak için döndürülen Socket özelliğini kullanabilirsiniz.

Not

bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode .

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.

Not

Yürütme bağlamı (güvenlik bağlamı, kimliğine bürünülen kullanıcı ve çağırma bağlamı) zaman uyumsuz Socket yöntemler için önbelleğe alınır. Belirli bir bağlamın (belirli bir zaman uyumsuz Socket yöntem, belirli bir örnek ve belirli Socket bir geri çağırma) ilk kullanımından sonra, bu bağlamın sonraki kullanımları bir performans geliştirmesi görecektir.

Ayrıca bkz.

Şunlara uygulanır