> Hvad vil det her sige?
> "java.net.SocketException: Protocol not allowed"
Tilføjelse:
Det viser sig at være den måde hvorpå jeg laver det DatagramPacket som skal
sendes der volder problemer. Jeg har en Socket (s nedenfor) som er forbundet
med en anden maskine, og datagrammerne skal sendes til den samme adresse og
port som denne Socket er forbundet til. Prøv at se på følgende (sidste
metode virker men hvorfor dog?).
//Gives exception on windows XP sp 2
datagramSocket.send(new DatagramPacket(data, data.length,
s.getRemoteSocketAddress()));
//This works when s is connected to localhost
datagramSocket.send(new DatagramPacket(data, data.length,
InetAddress.getLocalHost(), s.getPort()));
//Same problem as first method
datagramSocket.send(new DatagramPacket(data, data.length,
s.getInetAddress(), s.getPort()));
//This works! WHY?
byte test[] = s.getInetAddress().getAddress();
datagramSocket.send(new DatagramPacket(data, data.length,
InetAddress.getByAddress(test), s.getPort()));
På forhånd tak.
Jacob
|