Zuweisen einer InetAddress mit einem byte

Status
Nicht offen für weitere Antworten.

VdA

Bekanntes Mitglied
Hallo!
ich Programmiere ein chat Programm für das ich eine Mysql datenbank benutze und habe das problem, dass ich eine IP-Adresse die eingespeichert ist einer InetAddress zuweisen will mit der Methode:

Code:
InetAddress.getByAddress(byteIP);

die ein byte-array erwartet.
Wie wir alle wissen hat ein byte den Wertebereich von -128 bis +127 jedoch hab ich eine IP eingespeichert, die 83.169.146.177 lautet und da die zahlen 166, 146 und 177 alle über 127 sind gibt das bei mir folgende Exception aus:

java.lang.NumberFormatException: Value out of range. Value:"169" Radix:10

weiß jemand wie ich der inetAddres irgendwie anders einen festen Wert aus der datenbank zuweisen kann?
:bahnhof:
 
G

Guest

Gast
Ich habe ein actionEvent ausgelöst bekommen das mir den namen eines benutzers liefert der in der Datenbank mit seiner Aktuellen IP drinsteht.
Dann benutze ich ein PHP script um die Datenbank nach der IP zu fragen, die als String in der Datenbank gespeichert ist. Das funktioniert alles wunderbar. Doch wenn ich dann folgendes mache, gibt er mir oben gennante Exception aus:

Code:
//i
byte[] byteIP = new byte[4];
String empfang;
/*
      Hier wird die Datenbank abgefragt.
      Das Ergebnis wird in empfang gespeichert.
      Das wäre z.B.  "83.169.146.177"

*/
java.util.StringTokenizer st = new java.util.StringTokenizer(empfang, ".");
			for(int i=0; i<4;i++)
			{
				byteIP[i]=Byte.parseByte(st.nextToken());   //Hier soll er die Zahlen Nacheinander voneinander trennen
                                                        // dabei gibt es die NumberFormatException
			}
			address=InetAddress.getByAddress(byteIP);
 

mlux

Mitglied
das sollte funktionieren .. erst das jeweilige byte als int parsen und dann als byte casten. so bekommst du auch gleich ein unsigned byte als ergebnis.

Code:
byteIP[i]=(byte)Integer.parseInt(st.nextToken());
 

VdA

Bekanntes Mitglied
das funktioniert aber nur wenn man eine zahl hat die zwischen -128 und +127 liegt.
Wenn sie über 127 liegt kommt dementsprechend eine zahl raus die im negativen bereich liegt.


Aber ich glaub ich habe grade eine Andere Lösung gefunden man kann nähmlich mit
Code:
 InetAddress address =InetAddress.getByName(empfang); //empfang ist immernoch die IP als String
die IP zuweisen. Diese funktion ist ein Bischen irreführend, weil es heißt man soll hier den Namen des Host angeben, funzt aber auch mit der IP als String.
Muss aber noch testen ob ich jetzt auch an diese IP DatagramPackets senden kann.
 

mlux

Mitglied
wie schon erwähnt, funktioniert die methode

Code:
byteIP[i]=(byte)Integer.parseInt(st.nextToken());

auch. Durch den Cast, bekommst du in das byte auch Werte größer 127 rein. (Ich habs ausprobiert ;))

Die Lösung mit getByName() ist bestimmt besserer und schneller aber trotzdem würde es mich interessieren, warum man durch einen Cast quasi ein unsigned byte bekommt. Vielleicht weiß jemand die Hintergründe.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
N Link aus einer E-Mail aufrufen Netzwerkprogrammierung 2
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
O HTTP Einloggen auf einer Homepage Netzwerkprogrammierung 8
H Daten auf einer Webseite eintragen Netzwerkprogrammierung 11
Z Debug-Info einer JavaSE Applikation auf Webserver Netzwerkprogrammierung 0
S HTTP Würdet Ihr Euch bei einer intern genutzten Anwendung auf Cookies verlassen? Netzwerkprogrammierung 2
J Hilfe beim programmiern einer App zur Anmeldung im Wlan-Netzwerk Netzwerkprogrammierung 0
C Inhalt einer .JPG Datei in einen OutputStream schreiben? Netzwerkprogrammierung 10
D Überwachen einer SMB-Freigabe bei Änderungen im Dateisystem Netzwerkprogrammierung 0
L FTP Lesen einer Datei vom Server - Aufgehangen Netzwerkprogrammierung 0
M jsf-seite beim hinzufügen einer csv-datei in einen ordner aktualiseren Netzwerkprogrammierung 0
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
O HTTP Zugriff und Aktionen auf einer Webseite ausführen Netzwerkprogrammierung 9
S Automatischer Login auf einer Webseite Netzwerkprogrammierung 12
D JavaMail: HTML Code einer Mail Netzwerkprogrammierung 9
H Daten an Textfeld einer Webseite schicken Netzwerkprogrammierung 2
D Aus einer URL die Dateien lesen Netzwerkprogrammierung 5
Dit_ RMI RMI-Server und gleichzeitiger Aufruf einer Methode Netzwerkprogrammierung 14
T Ladezeit einer Seite mit HttpURLConnection und Bildern Netzwerkprogrammierung 2
M bild von einer url erzeugen Netzwerkprogrammierung 7
V Quelltaxt einer Website auslesen funktioniert nicht Netzwerkprogrammierung 2
V Angezeigten Text einer Website erfragen Netzwerkprogrammierung 4
P HttpClient - Daten einer Website "unvollständig" Netzwerkprogrammierung 5
A HTTP Download einer Datei mit "Statistiken" Netzwerkprogrammierung 2
S Port auf einer bestimmten IP-Adresse auslesen? Netzwerkprogrammierung 6
S netzwerkprotokoll auf basis einer tcp verbindung erstellen Netzwerkprogrammierung 9
G Kryptische Zeichen beim Auslesen einer Website Netzwerkprogrammierung 11
Ollek Download einer Datei durch SFTP mit Java Netzwerkprogrammierung 12
B Frage zu einer Lösung (RMI) Netzwerkprogrammierung 2
H HTTP Einloggen auf einer HTML (php) Seite Netzwerkprogrammierung 6
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
L Größe einer Datei auslesen die im Netz liegt Netzwerkprogrammierung 4
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
F Entwicklung einer Software zur Steuerung und Überwachung von Netzwerkgeräten Netzwerkprogrammierung 4
R Versenden einer MIME-Datei per E-Mail [solved] Netzwerkprogrammierung 5
C Problem mit Übertragung einer Klasse in RMI Netzwerkprogrammierung 10
Pithecanthropus Konzeptionelle Ausarbeitung einer synchronen Kommunkation (Server/Client)) Netzwerkprogrammierung 6
A attachment einer Mail speichern Netzwerkprogrammierung 5
C Dateigröße einer Datei im Internet ermitteln Netzwerkprogrammierung 2
J programm zum autom. ausdruck einer webseite Netzwerkprogrammierung 2
E Parameter einer URLConnection Netzwerkprogrammierung 12
G Unvollständiges Laden einer Seite Netzwerkprogrammierung 2
M Rechner einer Domäne auslesen? Netzwerkprogrammierung 3
KNeuhaus (Windows) Authentication VON einer Java-App aus. Netzwerkprogrammierung 2
Rontu Problem beim Übertragen einer Datei Netzwerkprogrammierung 9
D Content einer email in sql-datenbank speichern Netzwerkprogrammierung 9
M RMI direkte Verbindung mit einer Mysql datenbank Netzwerkprogrammierung 13
T Quelltext einer Website auslesen Netzwerkprogrammierung 3
ven000m Frage aus einer mündl. Prüfung - wer kennt die Antwort? Netzwerkprogrammierung 6
J Funktion zum Maskieren der Sonderzeichen einer URL Netzwerkprogrammierung 2
J Zeilenweises auslesen aus einer Datei über Server Netzwerkprogrammierung 6
C RMI: Problem beim Aufruf einer Methode. Falsch gecastet? Netzwerkprogrammierung 8
D Problem beim holen einer PHP-Seite via HttpClient Netzwerkprogrammierung 19
C IP adresse anhand einer domain adresse auslesen / ermitteln Netzwerkprogrammierung 3
V Einen Eintrag aus einer Zip Datei von einem Server laden Netzwerkprogrammierung 2
N Dateigröße einer Datei auf einem HTTP-/Web-Server. Netzwerkprogrammierung 9
D Anmelden an einer Windows-Domäne Netzwerkprogrammierung 2
M Suche Klasse um Paramater zu einer URL hinzuzufügen. Netzwerkprogrammierung 3
B Url-Link aus einer E-Mail aufrufen Netzwerkprogrammierung 2
M Quellcode einer HTML Seite erhalten Netzwerkprogrammierung 2
A Abbruch einer Verbindung erkennen? Netzwerkprogrammierung 3
G Performance einer verteilten RMI-Anwendung Netzwerkprogrammierung 4
B Laden einer *.csv Datei von einem Webserver (http-request) Netzwerkprogrammierung 8
clemson Größe einer Heruntergeladenen Datei Netzwerkprogrammierung 10
O Problem bei Überprüfung und Spliten von einer IP! Netzwerkprogrammierung 2
R Änderung einer Seite (Klasse URL) Netzwerkprogrammierung 2
I IP Adresse des Clients einer Socket Verbindung Netzwerkprogrammierung 2
G Redirects einer HttpURLConnection ermitteln Netzwerkprogrammierung 4
B InetAddress.getHostAddress() wo kommt die IP Auslösung her? Netzwerkprogrammierung 6
A Wie mit InetAddress umgehen? Netzwerkprogrammierung 3
E InetAddress Klasse-Probleme Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben