2013-01-25 56 views
1

MulticastingMulticastSocket所述接收DatagramPacket如何避免java中的緩衝區大小限制多播?

buffer = new byte[BUFFER_SIZE]; 
packet = new DatagramPacket(buffer, BUFFER_SIZE); 
socket.receive(packet); 

所以我必須與特定長度的字節數組,我不喜歡這樣的限制可以在我的網絡被傳輸的數據的大小。 Multicasting有沒有辦法避免這個限制?

回答

1

網絡已經限制了傳輸大小。您的程序中的緩衝區大小是您最擔心的問題。網絡上UDP數據報的普遍接受的限制是534字節。

+0

但是如果你讓一個'ServerSocket'來接受傳入的連接,並且通過'ObjectInputStream'和'ObjectOutputStream'接收和發送數據,至少你不需要建立一個緩衝區以便限制傳輸的大小。 。真正? – Soheil

+1

@Shell當然,那是TCP。不是UDP。 – EJP

+0

你認爲製作一個100M大小的緩衝區是否合理,可以通過這個UDP網絡傳輸最大尺寸爲100M的文件? – Soheil