Halllo,
Ich habe das Problem, das ich währen ich eine JFrame darstelle, einen UDP empfänger laufen lassen möchte. Ich habe gelesen, das es da das Problem mit der Thread Sicherheid gibt. Ich habe den Code momentan folgendermassen aufgebaut:
Der UDP Server liegt in einer extra Klasse. Sie sieht so aus:
Nun wollte ich diese Klasse Parallel laufen lassen.
Das mache ich hiermit:
Leider geht nur der ConnectionManager an. Der JFrame erscheint leider nicht. Wenn ich das starten des Connection Managers weg lasse geht der JFrame auf. Also der Code selber scheint zu gehen. Nur das mit dem Thread macht Probleme. Was mache ich falsch? Wie muss ich das starten?
Gruss, Sebi
Ich habe das Problem, das ich währen ich eine JFrame darstelle, einen UDP empfänger laufen lassen möchte. Ich habe gelesen, das es da das Problem mit der Thread Sicherheid gibt. Ich habe den Code momentan folgendermassen aufgebaut:
Der UDP Server liegt in einer extra Klasse. Sie sieht so aus:
Code:
import java.net.*;
import java.util.*;
public class ConnectManager extends Thread implements Runnable
{
public void run()
{
};
public ConnectManager()
{
try
{
DatagramSocket socket = new DatagramSocket( 93 );
DatagramPacket packet;
while ( true )
{
// Auf Anfrage warten
packet = new DatagramPacket( new byte[1024], 1024 );
socket.receive( packet );
// Empfänger auslesen
InetAddress address = packet.getAddress();
int port = packet.getPort();
int len = packet.getLength();
byte data[] = packet.getData();
/*System.out.println( "Anfrage von " + address +
" vom Port " + port +
" Länge " + len +
"\n" + System.out.println(Integer.toBinaryString(data[2])));
*/
System.out.println(data);
int i = 0;
while(i <= 24)
{
System.out.println(Integer.toBinaryString(data[i]));
i++;
}
}
}
catch ( Exception e )
{
System.out.println( e );
}
};
}
Nun wollte ich diese Klasse Parallel laufen lassen.
Das mache ich hiermit:
Code:
ConnectManager cm = new ConnectManager();
cm.run();
Leider geht nur der ConnectionManager an. Der JFrame erscheint leider nicht. Wenn ich das starten des Connection Managers weg lasse geht der JFrame auf. Also der Code selber scheint zu gehen. Nur das mit dem Thread macht Probleme. Was mache ich falsch? Wie muss ich das starten?
Gruss, Sebi