byte [] r = new byte[4096];
DatagramPacket dpr = new DatagramPacket(r, r.length);
sock.receive(r);
Nach dem receive
wird dpr.getData()
& r
immer gleich sein?DatagramPacket - liefert getData immer den gleichen Puffer, der übergeben wird?
Beispiel: Kann ich das Byte-Array r
direkt verwenden oder muss ich getData()
aufrufen, um den Puffer erneut abzurufen?
Testen Sie es, zeigte es gleich, aber ist das immer garantiert?
Warum sollte getOffset jemals etwas anderes als 0 sein? – user93353
In Ihrem Fall ist es 0, aber es gibt andere Konstruktoren, wo das Byte-Array zusammen mit einem Offset übergeben wird. In diesem Fall wird der im Konstruktor angegebene Offset verwendet. Sie sollten getOffset aufrufen, um Ihren Code vor bösen Überraschungen zu schützen, wenn jemand den Aufruf des Konstruktors in der Zukunft ändert. – user2612030