Oprettet ons. d. 27. april 2005 kl. 19:03:29

x-masman
x-masman (21.564 point. Point ude: 60)

Hvorfor vendes IP-addressen i DatagramPacket?

Hej hoveder,

Her kommer et problem, jeg finder meget mystisk. Hvorfor vender DatagramPacket IP adresser om?

Hvis jeg foreksempel sender en datagramPacket fra 192.168.1.101 så giver følgende kode:

    DatagramPacket dp =
        new DatagramPacket(inputBuffer,inputBuffer.length);
    // Server loop
    while(true){
        sock.receive(dp);
        System.out.println("From: " + (dp.getAddress()) + " " + new String(dp.getData()));
     
    }

Dette output:
From: 101.1.168.192 blabla

Er det ikke stenet? Hvorfor og kan man ændre det på "en flot" måde?

Er det ikke mærkligt at det kun er rækkefølgen på bytesne der er vent om og ikke selve bytene?

Skrevet ons. d. 27. april 2005 kl. 19:41:57| #1

ullesan
ullesan (20.400 point)
puf... så er den væk

Skrevet ons. d. 27. april 2005 kl. 19:43:00| #2

ullesan
ullesan (20.400 point)
baah... meget undskyld - kom til at skrive i den forkerte vindue... afvis mit svar

Skrevet ons. d. 27. april 2005 kl. 19:44:36| #3


Skrevet ons. d. 27. april 2005 kl. 19:44:53| #4

x-masman
x-masman (21.564 point)
men du har vel ikke et svar til mig vel?

Skrevet ons. d. 27. april 2005 kl. 20:46:31| #5

gammelhat
gammelhat (15.370 point)
Du skal nok kigge på 'network byte order' vs 'host byte order'

Skrevet tor. d. 28. april 2005 kl. 00:03:11| #6

x-masman
x-masman (21.564 point)
hmmmm... gammelhat, du ser ud til at have ret. Jeg har nu kigget lidt på det og gogglet lidt, men jeg kan ikke rigtig finde nogen løsning i java. Grunden er at alle spørgsmål jeg kunne finde, var svaret med at man ikke behøver at tænke på det, da dataInputStream selv håndtere det. Men det hjælper ikke rigtig mig, da jeg skal sammenligne ip adressen, men en anden jeg allerede har (I host order).
Er der en metode til det i java ligesom i c? ( ntoh() ) Eller må jeg i gang med at vende arrayet manuelt?

Skrevet ons. d. 04. maj 2005 kl. 20:12:39| #7

arne_v
arne_v (1.016.169 point)
manuelt

  public static int revbyte(int v) {
      return ((v >> 24) & 0x000000FF)
        | ((v >> 8) & 0x0000FF00)
        | ((v << 8) & 0x00FF0000)
        | ((v << 24) & 0xFF000000);
  }

Skrevet tor. d. 19. maj 2005 kl. 15:23:00| #8

x-masman
x-masman (21.564 point)
Ja jeg kom ikke så meget videre, da jeg ikke kunne bruge det til noget alligevel. Men jeg fik da en forklaring. Smid et svar gammelhat for forklaring og arne for en workaround.

Skrevet tor. d. 19. maj 2005 kl. 15:37:22| #9


Skrevet søn. d. 22. maj 2005 kl. 14:02:03| #10

x-masman
x-masman (21.564 point)
gammelhat vil du ikke have point?

Skrevet man. d. 23. maj 2005 kl. 14:53:02| #11

x-masman
x-masman (21.564 point)
Nå ikke. Så får arne dem alle.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

How to try my form spam filter?

Oprettet den 24. maj 2012 kl. 21.07
fredand giver 30 point for svar | Giv et svar »

problemer med at oprette en objekt i en while løkke

Oprettet den 23. maj 2012 kl. 09.59
Driton giver 100 point for svar | Giv et svar »

print funktion

Oprettet den 18. maj 2012 kl. 21.41
changelevel giver 30 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger