3
A
回答
2
直到數據寫入發送方的發送緩衝區。
所以如果緩衝區滿了,它會阻塞。
由於網絡問題或接收端的接收緩衝區已滿,發送緩衝區可能已滿,如果它尚未傳輸數據。
有一個實驗可以進行:創建發送者和接收者,將發送者的套接字發送緩衝區設置爲小,並將接收者的接收緩衝區設置爲小。
開始發送,在接收方接受連接,但不接收。當發送的字節數大約是SenderSendBuffer + ReceiverReceiveBuffer時,套接字將被阻塞。
0
NetworkStream
不緩衝數據。最終,致電NetworkStream.Write
轉換爲插座send函數調用。 MSDN文章這個函數說:
的發送 功能的順利完成並不表明 數據被成功交付和接收收件人 。該功能僅表示 成功發送。
這是回答您的問題嗎?
相關問題
- 1. 爲什麼networkstream.write阻止?
- 2. ZF2什麼時候使用getServiceLocator()什麼時候不到
- 3. 什麼時候發送UDP sendto()塊?
- 4. 直到什麼時候.NET Compact Framework 1.0才被支持?
- 5. 直到什麼時候才能支持Python 2.5?
- 6. 什麼情況會導致NetworkStream.Write阻塞?
- 7. 爲什麼/我應該在什麼時候使用dojo模塊?
- 8. 什麼時候'System.ExecutionEngineException'ocurs?
- 9. 什麼時候可以達到這個catch塊?
- 10. 如何知道什麼時候收到所有塊
- 11. 目標C什麼時候使用alloc和什麼時候不到
- 12. 什麼時候返回空集合,什麼時候不是?
- 13. SQL Server CASE什麼時候不使用CASE什麼時候
- 14. QTreeWidget :: currentItem什麼時候沒有選擇什麼時候返回?
- 15. 什麼時候應該使用async/await,什麼時候不用?
- 16. 什麼時候使用GWT,什麼時候不需要
- 17. Application.DoEvents,什麼時候需要,什麼時候不需要?
- 18. 什麼時候使用__proto__和什麼時候使用原型
- 19. 什麼時候編譯和構建,什麼時候不用.NET?
- 20. 什麼時候是K 1024,什麼時候是1000?
- 21. 什麼時候注入構造函數,什麼時候是CDI
- 22. 什麼時候應該使用AWS,什麼時候不使用
- 23. intn_t什麼時候使用它,什麼時候不使用
- 24. 什麼時候使用Ruby和什麼時候使用PHP
- 25. 什麼時候去接口,什麼時候去抽象類
- 26. 什麼時候加入名字,什麼時候不加入?
- 27. 什麼時候使用ByteString,什麼時候不使用?
- 28. 當我們做networkstream.write()時會發生什麼?
- 29. 什麼時候jQuery.active值得到重置?
- 30. 子類UIViewController,什麼時候不到
NetworkStream不緩衝數據,但Socket.Send將數據放入內部緩衝區。 – 2011-06-07 09:03:22
@Alex Aza:我正在用反光鏡看它,不,它沒有。我在看.net 4.0實現什麼.net版本你在說什麼? – 2011-06-07 09:07:44
但底層實現是做什麼的?也就是說,Windows IP堆棧在短時間內緩衝數據嗎? – 2011-06-07 10:06:14