我可以確定從SecureStream
讀取單個字節是否會阻塞?基礎流是一個NetworkStream
,它具有DataAvailable
屬性,但我期望SecureStream
需要緩衝字節才能正常運行,所以我不認爲我可以依賴基礎流的DataAvailable
。是否可以確定是否從SecureStream讀取將被阻止?
另外,有沒有辦法執行永遠不會阻止的Read
?我很確定沒有;我一直討厭Stream
API,但也許我錯過了一些東西?
爲什麼:我們有一個具有高度優化路徑的TCP服務器實現來處理請求。特別是,對於每個請求,原始代碼總是使用BeginRead
,但是我發現,只要數據已經可用(隨時發生短請求),將其替換爲Read
就可以使我們的最大吞吐量增加20%以上。我想爲此代碼的SSL變體做同樣的事情。
哦,當然,它不像它慢50ms,不。但它確實會在每秒4000到5000個請求之間產生差異。在這樣的規模下,我認爲這是可以理解的,它稍微慢一些。另外,你有幾個「少數」的具體建議? –