Hi, ich habe ein Problem mit Bytes und wäre sehr dankbar, wenn mir jemand bitte sagen würde, wie ich Bytes in einen String umwandle!
Danach emfängt dies eine andere Klasse:
So, mit System.out.println geht es, doch wenn ich es mit setText in eine JTextArea gebe dann zeigt er zwar die Nachricht an, fügt aber dann noch ganz viele Kästchen (weiß nicht, vl sind das chars) hinzu!
Was ist da falsch?
thx
Code:
String in Bytes umwandeln und senden:
public void send(String text, InetAddress ia, int port) {
this.ia = ia;
this.port = port;
try {
byte data[] = new byte[ 1024 ];
text.getBytes( 0, text.length(), data, 0 );
packet = new DatagramPacket(data,data.length,ia,port);
DatagramSocket toSocket = new DatagramSocket();
toSocket.send( packet );
}
catch ( Exception e ) {
}
}
Danach emfängt dies eine andere Klasse:
Code:
try {
byte data[] = new byte[ 1024 ];
DatagramPacket packet;
DatagramSocket socket = new DatagramSocket( port );
while ( true ) {
// Auf Anfrage warten
DatagramSocket fromSocket = socket;
//new DatagramSocket();
packet = new DatagramPacket( data, data.length );
fromSocket.receive( packet );
// Hier liegt der Fehler
String s = "Server" + //packet.getAddress() +
" am Port " + packet.getPort() +
" gibt mit die Zeit "+
new String( packet.getData() );
// Es müsste gehen, doch die Ausgabe in JTextArea geht nicht!
System.out.println( s );
Thread.sleep( 1000 );
}
}
catch ( Exception e ) {
System.out.println( e );
}
So, mit System.out.println geht es, doch wenn ich es mit setText in eine JTextArea gebe dann zeigt er zwar die Nachricht an, fügt aber dann noch ganz viele Kästchen (weiß nicht, vl sind das chars) hinzu!
Was ist da falsch?
thx