大家好日子!是否需要在java UDP服務器實現中存儲傳入消息?
我正在開發基於Java NIO的簡單Java UDP服務器。 Here我讀過,我必須將所有傳入的消息存儲在某個緩衝區中,並以某種方式識別換行符。但是,如果傳入消息的大小始終爲< =緩衝區大小,我是否需要存儲以前的狀態?我的意思是我的ByteBuffer足夠大以存儲任何傳入的消息。是否有些情況下,確保自己處理一些像monolit這樣的消息更好,而他們只是一些重要消息的一部分?我只是不想做頭腦工作,並且想要精確地分配足夠大的緩衝危險策略與否。
你能準確地發送一些短消息就等於發送1數據報嗎?即使這條消息很短,客戶端計算機是否可以將我的消息分成幾個數據報? – Baurzhan 2013-03-15 04:52:51
對'DatagramChannel.send'的調用只發送**一個數據報**,並且不會被客戶機分割。 – Javier 2013-03-15 04:55:49
實際上,我並沒有在客戶端使用DatagramChannel.send - 它是一些配置爲通過UDP協議將消息發送到某個IP地址的設備。我不知道它是如何在內部向我發送消息的。它似乎是測試它的唯一方法是分析來自此設備的日誌) – Baurzhan 2013-03-15 04:58:54