webForumDet fria alternativet

Info från half-life server

2 svar · 246 visningar · startad av SoMeOnE

SoMeOnEMedlem sedan nov. 200254 inlägg
#1

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
#2

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
#3

Tack för svaret, det ser ut att kunna vara rätt. Jag får testa det när jag kommer hem.

126 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)