NetworkStream.EndRead(IAsyncResult) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
處理非同步讀取的結束。
public:
override int EndRead(IAsyncResult ^ asyncResult);
public override int EndRead(IAsyncResult asyncResult);
override this.EndRead : IAsyncResult -> int
Public Overrides Function EndRead (asyncResult As IAsyncResult) As Integer
參數
- asyncResult
- IAsyncResult
一個 IAsyncResult 代表非同步通話。
傳回
從 讀取的位元組 NetworkStream數介於零(0)與請求位元組數之間。 該方法僅在請求零位元組或因對等套接字執行優雅關機而無更多位元組可用時回傳零(0)。 若請求零位元組,讀取操作可能立即完成,也可能直到至少一個位元組可用後才完成(但不會消耗任何資料)。
例外狀況
參數 asyncResult 為 null。
那是 NetworkStream 關門的。
備註
這很重要
這是一個相容性 API。 我們不建議使用 APM (開始/結束)方法來進行新開發。 相反地,請使用基於任務的對應物。
該 EndRead 方法完成了該 BeginRead 方法開始的讀取操作。 你需要傳遞 IAsyncResult 由配對 BeginRead 呼叫創建的。 EndRead 會在操作完成前阻擋呼叫執行緒。
備註
如果你收到, IOException請檢查該 InnerException 物業以判斷是否由某個因素 SocketException造成。 如果是,請利用該 ErrorCode 屬性取得特定的錯誤代碼。