Archief - [Java] UDP byte lengte of string lengte?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Curahee Q

Legacy Member
Dag dag

Ik was hier een UDP programma aan het schrijven en voor mijn DatagramPacket aan te maken gebruik ik volgende regel

Code:
byte[] buffer = solution.getBytes();
				
DatagramPacket sendPacket = new DatagramPacket(buffer, [U]solution.length()[/U], receivedPacket.getAddress(), receivedPacket.getPort());

Als 2de parameter gebruik ik dus de lengte van de string. Echter zie ik op internet dat ze daar de lengte invullen van de buffer.

Code:
byte[] buffer = solution.getBytes();
				
DatagramPacket sendPacket = new DatagramPacket(buffer, [U]buffer.length[/U], receivedPacket.getAddress(), receivedPacket.getPort());

Beide methoden werken. Is er 1 methode die de voorkeur geniet? Of is het puur toeval dat beide methoden werken?

Alvast bedankt

forloRn_

Legacy Member
Je moet inderdaad het tweede gebruiken omdat de lengte van buffer niet noodzakelijk hetzelfde is als de lengte van solution. Het kan toevallig werken als je enkel normale karakters gebruikt die elk als een enkele byte geëncodeerd worden.

Los daarvan vind ik het ook logischer/leesbaarder om gewoon buffer.length te gebruiken. Die staat dichterbij qua scope en het is tenslotte je buffer die je gaat doorsluizen, niet je string.

Curahee Q

Legacy Member
Ja toen ik er daarstraks beter over nadacht vond ik het een vrij stomme vraag. Want zoals je zegt, het is de buffer die je doorgeeft.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan