我正在使用socket(AF_UNIX, SOCK_STREAM)
套接字在兩個進程之間進行通信。從套接字接收字節數的最佳方式是什麼?
我希望接收器能夠接收上限字節數,其中上限非常大(在16MB到64MB範圍內)。也就是說,我希望收到最多[cap]字節的消息,如果消息大於此消息,我想停止接收或放棄其餘消息。
從文檔中,這樣做的方式似乎是使用socket.recv(bufsize=[cap])
。但有以下注意事項:
注意對於使用的硬件和網絡的現實最佳匹配,BUFSIZE的值應該是2的功率相對較小,例如,4096
這表明,緩衝區大小不是爲此目的而設計的。那麼,實現這個目標的最好方法是什麼?
你不能只是收到字節,因爲他們收到至少(至少4k)字節後,至少(4k)字節,調用recv()剩下什麼? TBH,我完全不理解你的要求,或者'消息'是什麼。 –