private void receive() {
receive = new Thread(new Runnable() {
public void run() {
while (running) {
byte[] data = new byte[MAX_PACKET_SIZE];
DatagramPacket packet = new DatagramPacket(data, data.length);
try {
socket.receive(packet);
} catch (IOException e) {
e.printStackTrace();
}
String str = new String(packet.getData());
System.out.println(str);
}
}
}, "receive");
receive.start();
}
Ich brauche einen Quellport abzurufen, die so gehen würde:Wie kann ich einen Wert aus dem Bereich der Methodenebene abrufen?
packet.getPort()
aber ich cann't herausfinden, wie ich das genau tun. Jedes Mal, wenn ich es versuche, wird der Wert auf Null gesetzt, wenn er den Gültigkeitsbereich verlässt. Er existiert also nur innerhalb der run-Methode oder sogar während der while-Schleife.
Mögliches Duplikat von [Äußere Variable aus anonymer innerer Klasse setzen] (http://stackoverflow.com/questions/5977735/setting-outer-variable-from-anonymous-inner-class) – khachik