Hi!
wollte mittels Java eine Anfrage auf meinem Server machen, über den Port 4665(UDP).
Warum ausgerechnet UDP? TCP wäre wohl einfacher ;-)
Leider bekomm ich keine Antwort, sprich der Thread hängt bei der receive(packet) Funktion (blockiert bis Packet empfangen wurde).
Woher weißt Du dass es gnau an dieser Stelle hängt?
hier der Code:
while (true)
{
DatagramPacket packet;
try {
Es mag sein dass das egal ist, aber ich kenne das nur anders herum:
try {
DatagramPacket packet;
while (true) {
// [...]
}
}
catch ( Exception e ) {
System.out.println( e );
}
String sendMsg = "E3965A000000";
byte data[] = sendMsg.getBytes();
InetAddress ia = InetAddress.getByName("localhost");
packet = new DatagramPacket(data, data.length, ia, 4665);
socket = new DatagramSocket();
socket.send(packet); // send the packet note: when no service
// is ready on the remote-side to listen, a
// IP-interrupt `Connection refused' will be
// sent back and Socket.send() will generate
// an IOExcepetion the next time called
Ich sehe keinen Fehler(was nichts heißt :-)), nur wenn ich den Kommentar richtig deute, kanst Du evtl. auch hier einen Fehler abfragen?
socket = new DatagramSocket();
packet = new DatagramPacket(data, data.length);
socket.receive(packet); // waiting for response
vermutlich hier ebenfalls
System.out.println("port: " + packet.getPort() + "\n" +
"address: " + packet.getAddress() + "\n" +
"data: " + packet.getData());
vielleicht "new String( packet.getData()"?
socket.close(); // close socket
Thread.sleep(1000); // sleep 1 second
}
catch (Exception e) {
e.printStackTrace();
was gibt das aus?
}
}
}
Weiss einer vielleicht wo da noch ein Denkfehler drin steckt ? Hätte einen Codeschnipsel noch von Perl von ocbMaurice, ist in php auch ziemlich gleich. Aufjedenfall bekommt man auf diesem Weg eine Antwort vom Server.
hm.
Habe irgendwie das Gefühl, das es an dem String "sendMsg" liegt, hab das schon mit 0x und den ganzen Varianten probiert, hat aber auch nichts gebracht.
Vielleicht hilft Dir: http://www.galileocomputing.de/openbook/javainsel2/java_160013.htm#Rxxjava_160013346DieZeitdiensteundeineigenerServerundClient
Grüße
Andreas
PS: Es würd mich interessieren woran es am Ende gelegen hat.