Hallo,
ich habe einen UDP-Server und versuche dem verzweifelt ein UDP-Packet zu senden und die antwort zu empfangen.
Das ganze hab ich mit dem Wireshark untersucht. Das Senden funktioniert, ich bekomme auch eine Antwort (Wireshark) aber das Java Programm bleibt beim socket.receive() stecken!
Den Code hab ich mehr oder weniger von
Galileo Computing :: Java 7 - Mehr als eine Insel - 11 Netzwerkprogrammierung
Ich habe den code auf das nötigste reduziert:
hier noch ein Printscreen vom Wireshark (receive ist erweitert):
ist es vielleicht ein Problem, dass da nur 4 byte zurückkommen?
Weiss jemand rat?
ich habe einen UDP-Server und versuche dem verzweifelt ein UDP-Packet zu senden und die antwort zu empfangen.
Das ganze hab ich mit dem Wireshark untersucht. Das Senden funktioniert, ich bekomme auch eine Antwort (Wireshark) aber das Java Programm bleibt beim socket.receive() stecken!
Den Code hab ich mehr oder weniger von
Galileo Computing :: Java 7 - Mehr als eine Insel - 11 Netzwerkprogrammierung
Ich habe den code auf das nötigste reduziert:
Java:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class Main {
static DatagramSocket socket;
public static void main(String[] args) {
try {
open();
send();
receive();
close();
} catch (IOException e) {
e.printStackTrace();
}
}
static void open() throws IOException {
socket = new DatagramSocket(50101);
}
static void close() throws IOException {
socket.close();
}
static void send() throws IOException {
// send data
byte[] remoteIp = {16, 0, 0, 1};
InetAddress remoteAddress = InetAddress.getByAddress(remoteIp);
int remotePort = 50100;
byte[] sendData = {0x20, 0x30};
DatagramPacket packet = new DatagramPacket(sendData, sendData.length, remoteAddress, remotePort);
socket.send(packet );
}
static void receive() throws IOException {
byte[] recData = new byte[ 1024 ];
DatagramPacket packet = new DatagramPacket( recData, recData.length );
socket.receive(packet);
System.out.println(packet.getData());
}
}
hier noch ein Printscreen vom Wireshark (receive ist erweitert):
ist es vielleicht ein Problem, dass da nur 4 byte zurückkommen?
Weiss jemand rat?
Zuletzt bearbeitet: