我有一個客戶端/服務器應用程序,客戶端向服務器發送消息。由於我使用的遺留庫,我的服務器無法立即讀取,但必須等待條件成立,直到它讀取消息。套接字存儲多少數據?是否有固定的緩衝區大小/限制?在讀取之前,套接字在其緩衝區中可以存儲多少數據?
謝謝。
我有一個客戶端/服務器應用程序,客戶端向服務器發送消息。由於我使用的遺留庫,我的服務器無法立即讀取,但必須等待條件成立,直到它讀取消息。套接字存儲多少數據?是否有固定的緩衝區大小/限制?在讀取之前,套接字在其緩衝區中可以存儲多少數據?
謝謝。
它取決於套接字接收緩衝區的大小,其默認值因操作系統而異。您可以通過setsockopt()
和SO_RCVBUFSIZE選項從應用程序控制它。
這取決於許多你無法控制的因素。這不是正確的方法。
你應該儘快讀取數據,但只有處理它如果條件滿足。
編輯:我想我誤解了這個問題,請參閱@ EJP的答案。
它完全取決於您可以控制的一個因素。 -1 – EJP
這幾乎是我所期望的,但由於某些原因找不到合適的信息位:/。謝謝。 – xSNRG