3
是否有任何簡單的功能來檢查有多少數據被緩衝但未讀? FD_ISSET僅指示緩衝區中數據的存在。有可能不在程序中創建第二個緩衝區來更好地控制緩衝區?Linux套接字緩衝數據大小
是否有任何簡單的功能來檢查有多少數據被緩衝但未讀? FD_ISSET僅指示緩衝區中數據的存在。有可能不在程序中創建第二個緩衝區來更好地控制緩衝區?Linux套接字緩衝數據大小
你可以使用recv()
與MSG_PEEK
和MSG_DONTWAIT
標誌,但沒有可靠保證,有沒有比在這種情況下返回recv()
可用更字節。
在程序中使用緩衝區是解決問題的常用方法。
這有助於很多!儘管peek再次移動數據,但它讓我快速測試系統緩衝區的使用情況。我決定創建一個線程將數據從系統緩衝區移動到程序緩衝區。 – keithyip 2010-08-03 16:15:11