DatagramSocket: Socket closed
Hejsa!Jeg har lavet mig en server-applikation og en client-application, begge i
Java. Kommunikationen foregår med UDP-pakker. Jeg har testet med 3
test-opstillinger:
1. Server og client på samme maskine (w2k) - virker perfekt
2. Server kørende på min LAN-server (Mandrake 8.2) og clienten kørende på
min kontormaskine (w2k) - virker perfekt
3. Server kørende på en Internet-server (Redhat 7.3) og clienten kørende på
min kontormaskine (w2k) -VIRKER IKKE
Ved sidste opstilling får jeg følgende fejl: "java.net.SocketException:
socket closed"
Det foregår sådan, at clienten sender en connect-request til serveren og
skal herefter modtage en bekræftelse. Koden er:
DatagramSocket socket = new DatagramSocket();
socket.setSoTimeout(5000);
DatagramPacket packet = new DatagramPacket(b, b.length,
InetAddress.getByName(serverAdress), clientPort);
byte[] receive = new byte[1536];
DatagramPacket rPacket = new DatagramPacket(receive, receive.length);
socket.send(packet);
socket.receive(rPacket); // Her bliver SocketException smidt
Pakken bliver sendt, men modtages ikke på serveren og lige idet
socket.receive(rPacket) kaldes, smides en SocketException. Den timer ikke
engang ud, men smider en SocketException med det samme.
Hvad sker der, og hvordan kan jeg løse problemet ????
Der er i øvrigt én her som har samme problem: http://forum.java.sun.com/thread.jsp?forum=11&thread=173276
