Aracılığıyla paylaş


Socket.EndReceive Yöntem

Tanım

Bekleyen zaman uyumsuz okumayı sonlandırır.

Aşırı Yüklemeler

EndReceive(IAsyncResult)

Bekleyen zaman uyumsuz okumayı sonlandırır.

EndReceive(IAsyncResult, SocketError)

Bekleyen zaman uyumsuz okumayı sonlandırır.

EndReceive(IAsyncResult)

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

Bekleyen zaman uyumsuz okumayı sonlandırır.

public:
 int EndReceive(IAsyncResult ^ asyncResult);
public int EndReceive (IAsyncResult asyncResult);
member this.EndReceive : IAsyncResult -> int
Public Function EndReceive (asyncResult As IAsyncResult) As Integer

Parametreler

asyncResult
IAsyncResult

IAsyncResult Bu zaman uyumsuz işlem için durum bilgilerini ve kullanıcı tanımlı verileri depolayan bir.

Döndürülenler

Alınan bayt sayısı.

Özel durumlar

asyncResult, null değeridir.

asyncResult yöntemine BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) yapılan bir çağrı tarafından döndürülmedi.

EndReceive(IAsyncResult) daha önce zaman uyumsuz okuma için çağrıldı.

Yuvaya erişmeye çalışılırken bir hata oluştu.

-veya-

Yalnızca .NET 7+ : Socket kapatıldı.

yalnızca .NET Framework, .NET Core ve .NET 5-6: Socket kapatıldı.

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.

EndReceive tarafından BeginReceivebaşlatılan işlemi tamamlar. Eşleşen BeginReceive çağrı tarafından oluşturulan geçirmeniz gerekirIAsyncResult.

EndReceive yöntemi, veriler kullanılabilir olana kadar engeller. Bağlantısız bir protokol kullanıyorsanız, EndReceive gelen ağ arabelleğinde bulunan ilk sıralanmış veri birimi okunur. Bağlantı odaklı bir protokol kullanıyorsanız yöntem, yöntemin EndReceive parametresinde sizeBeginReceive belirttiğiniz bayt sayısına kadar kullanılabilir olan kadar veri okur. Uzak ana bilgisayar yöntemiyle Shutdown bağlantıyı kapatırsa Socket ve tüm kullanılabilir veriler alınırsa, EndReceive yöntem hemen tamamlanır ve sıfır bayt döndürür.

Not

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

Not

Belirli bir iş parçacığı tarafından başlatılan tüm G/Ç, iş parçacığı çıktığında iptal edilir. İş parçacığı işlem tamamlanmadan önce çıkarsa bekleyen zaman uyumsuz bir işlem başarısız olabilir.

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.

Ayrıca bkz.

Şunlara uygulanır

EndReceive(IAsyncResult, SocketError)

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

Bekleyen zaman uyumsuz okumayı sonlandırır.

public:
 int EndReceive(IAsyncResult ^ asyncResult, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int EndReceive (IAsyncResult asyncResult, out System.Net.Sockets.SocketError errorCode);
member this.EndReceive : IAsyncResult * SocketError -> int
Public Function EndReceive (asyncResult As IAsyncResult, ByRef errorCode As SocketError) As Integer

Parametreler

asyncResult
IAsyncResult

IAsyncResult Bu zaman uyumsuz işlem için durum bilgilerini ve kullanıcı tanımlı verileri depolayan bir.

errorCode
SocketError

SocketError Yuva hatasını depolayan bir nesne.

Döndürülenler

Alınan bayt sayısı.

Özel durumlar

asyncResult, null değeridir.

asyncResult yöntemine BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) yapılan bir çağrı tarafından döndürülmedi.

EndReceive(IAsyncResult) daha önce zaman uyumsuz okuma için çağrıldı.

Yuvaya erişmeye çalışılırken bir hata oluştu.

-veya-

Yalnızca .NET 7+ : Socket kapatıldı.

yalnızca .NET Framework, .NET Core ve .NET 5-6: Socket kapatıldı.

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.

EndReceive tarafından BeginReceivebaşlatılan işlemi tamamlar. Eşleşen BeginReceive çağrı tarafından oluşturulan geçirmeniz gerekirIAsyncResult.

EndReceive yöntemi, veriler kullanılabilir olana kadar engeller. Bağlantısız bir protokol kullanıyorsanız, EndReceive gelen ağ arabelleğinde bulunan ilk sıralanmış veri birimi okunur. Bağlantı odaklı bir protokol kullanıyorsanız yöntem, yöntemin EndReceive parametresinde sizeBeginReceive belirttiğiniz bayt sayısına kadar kullanılabilir olan kadar veri okur. Uzak ana bilgisayar yöntemiyle Shutdown bağlantıyı kapatırsa Socket ve tüm kullanılabilir veriler alınırsa, EndReceive yöntem hemen tamamlanır ve sıfır bayt döndürür.

Not

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

Not

Belirli bir iş parçacığı tarafından başlatılan tüm G/Ç, iş parçacığı çıktığında iptal edilir. İş parçacığı işlem tamamlanmadan önce çıkarsa bekleyen zaman uyumsuz bir işlem başarısız olabilir.

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.

Ayrıca bkz.

Şunlara uygulanır