SoMeOnEMedlem sedan nov. 200254 inlägg Jag försöker göra ett javaprogram för att administrera half-life serverar. Hur skickar man ett UDP meddelande till servern och sen tar imot svaret? Jag vet bara hur man gör det i php så jag tror att det ska gå i java också. I php ser det ut så här:
$ip = "217.215.174.69";
$port = "27015";
$fp = fsockopen("udp://".$ip, $port, $errno, $errstr);
if (!$fp) {
echo "SERVER IS NOT UP";
} else {
fputs($fp, "ÿÿÿÿinfostring");
$msg = fread($fp, 220);
if (!$msg) {
echo "SERVER IS NOT UP";
} else {
echo $msg;
}
$fp = NULL;
}
tack på förhand.
ViktorMedlem sedan aug. 20021 752 inlägg Jag tror att den här fungerar. Provade mot en server och fick något svar, vet inte om det var det rätta dock :)
import java.io.*;
import java.net.*;
public class HLStatus
{
public static void main(String arg[])
{
int localPort=8888;
String remoteHost="217.215.174.69";
int remotePort=27015;
try
{
InetAddress reciver=InetAddress.getByName(remoteHost);
DatagramSocket dataSocket=new DatagramSocket(localPort);
String data="ÿÿÿÿinfostring";
DatagramPacket dp=new DatagramPacket(data.getBytes(),data.length(),reciver,remotePort);
dataSocket.send(dp);
byte[] data2=new byte[220];
dp=new DatagramPacket(data2,220);
dataSocket.receive(dp);
System.out.println("Data: "+new String(data2));
}
catch(IOException io)
{
io.printStackTrace(System.err);
}
}
}
/Viktor
SoMeOnEMedlem sedan nov. 200254 inlägg Tack för svaret, det ser ut att kunna vara rätt. Jag får testa det när jag kommer hem.