0
我正在做一個應用程序,這將意味着讀取大量的數據發送到我的套接字。依賴套接字setReceiveBufferSize或使用BlockingQueue?
我現在的問題是,我是否應該依賴套接字setReceiveBufferSize,在那裏放置一個很大的值,希望它能收集我擁有的所有數據,直到我能夠處理它,或者使用BlockingQueue一切都在那裏,然後從另一個線程處理它來保持池和處理數據?
如果我讓隊列中最大數量的元素也是一個糟糕的設計? (所以我只是告訴它,「接受盡可能多的元素,只要你願意」),我指的是內存消耗,如果我會收到很多元素?
問候, 奧勒利安
問題是,我也對從套接字讀取的同一線程做了一些處理,這就是爲什麼我可能無法儘快讀取數據。關於失速階段,如果服務器發送的數據太多,在這個失速的情況下,數據在哪裏保存?我的意思是我會因爲這個攤位而丟失一些數據嗎?謝謝 – aureliangtx
數據保存在套接字接收緩衝區中。這就是它的作用。*你不會失去任何東西。 – EJP
發送套接字緩衝區和接收套接字緩衝區的建議大小是多少?我的意思是一些最佳值 – aureliangtx