Socket.EndReceive 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.
Bekleyen zaman uyumsuz bir okumayı sonlandırır.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| EndReceive(IAsyncResult) |
Bekleyen zaman uyumsuz bir okumayı sonlandırır. |
| EndReceive(IAsyncResult, SocketError) |
Bekleyen zaman uyumsuz bir okumayı sonlandırır. |
EndReceive(IAsyncResult)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Bekleyen zaman uyumsuz bir 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 toplam bayt sayısı. yöntemi yalnızca sıfır bayt istendiyse veya eş yuva düzgün bir kapatma gerçekleştirdiğinden kullanılabilir bayt sayısı fazla olmadığında sıfır (0) döndürür. Sıfır bayt istenirse, alma işlemleri hemen tamamlanabilir veya en az bir bayt kullanılabilir olana kadar (ancak herhangi bir veri kullanılmadan) tamamlanmayabilir.
Özel durumlar
asyncResult, null'e eşittir.
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ı.
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öntemlerinin kullanılmasını ö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 IAsyncResult gerekir.
EndReceive yöntemi, veriler kullanılabilir olana kadar engeller. Bağlantısız bir protokol kullanıyorsanız, EndReceive gelen ağ arabelleğinde kullanılabilen ilk sıralanmış veri birimi okunur. Bağlantı odaklı bir protokol kullanıyorsanız, EndReceive yöntemi yöntemi parametresinde sizeBeginReceive belirttiğiniz bayt sayısına kadar kullanılabilir olan kadar veri okur. Uzak konak yöntemiyle Shutdown bağlantıyı kapatırsa Socket ve kullanılabilir tüm veriler alınırsa, EndReceive yöntem hemen tamamlanır ve sıfır bayt döndürür.
Uyarı
bir SocketExceptionalırsanız, özelliğini kullanarak SocketException.ErrorCode belirli bir hata kodunu alın.
Uyarı
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 bir zaman uyumsuz işlem başarısız olabilir.
Uyarı
Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.
Ayrıca bkz.
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
Şunlara uygulanır
EndReceive(IAsyncResult, SocketError)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Bekleyen zaman uyumsuz bir 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 toplam bayt sayısı. yöntemi yalnızca sıfır bayt istendiyse veya eş yuva düzgün bir kapatma gerçekleştirdiğinden kullanılabilir bayt sayısı fazla olmadığında sıfır (0) döndürür. Sıfır bayt istenirse, alma işlemleri hemen tamamlanabilir veya en az bir bayt kullanılabilir olana kadar (ancak herhangi bir veri kullanılmadan) tamamlanmayabilir.
Özel durumlar
asyncResult, null'e eşittir.
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ı.
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öntemlerinin kullanılmasını ö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 IAsyncResult gerekir.
EndReceive yöntemi, veriler kullanılabilir olana kadar engeller. Bağlantısız bir protokol kullanıyorsanız, EndReceive gelen ağ arabelleğinde kullanılabilen ilk sıralanmış veri birimi okunur. Bağlantı odaklı bir protokol kullanıyorsanız, EndReceive yöntemi yöntemi parametresinde sizeBeginReceive belirttiğiniz bayt sayısına kadar kullanılabilir olan kadar veri okur. Uzak konak yöntemiyle Shutdown bağlantıyı kapatırsa Socket ve kullanılabilir tüm veriler alınırsa, EndReceive yöntem hemen tamamlanır ve sıfır bayt döndürür.
Uyarı
bir SocketExceptionalırsanız, özelliğini kullanarak SocketException.ErrorCode belirli bir hata kodunu alın.
Uyarı
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 bir zaman uyumsuz işlem başarısız olabilir.
Uyarı
Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.
Ayrıca bkz.
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)