簡體   English   中英

發送套接字發送但接收套接字從未讀取的消息會怎樣?

[英]What happens to messages sent by sending socket but never read by receiving socket?

假設我有一個發送方套接字和接收方套接字。 發送方套接字發送的消息總數為1 GB,但是接收方套接字既不讀取也不關閉套接字。

在任一套接字關閉之前1GB的消息會怎樣? 他們坐在OS緩沖區中的某個地方嗎?

更加具體...

  • 每個發送者都有自己的線程。
  • 所有發件人均已刷新其輸出流。
  • 所有消息均通過環回接口傳遞

是的,數據將位於TCP / IP堆棧的緩沖區中。 盡管它遠遠小於1Gb。

假設您使用TCP-使用流量控制來處理這種情況,則接收器緩沖區將填滿。 當接收器緩沖區已滿時,發送器將停止發送。 發送器緩沖區將被填滿,並且當它已滿時,應用程序的寫/發送調用將阻塞,直到接收器開始使用數據或發生錯誤為止

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM