Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: GRA
Forum PHP.pl > Forum > Gotowe rozwiązania
misiek_km
Witam.
Potrzebuje skrypt, który rozpozna czy aktualnie trawa gra (StarCraft) na komputerze kumpla.
Ta gra korzysta z portów od 6112 do 6119, wysyłam na nie jakieś zapytanie, ale nic.
Co może być źle ewentualnie jak mogę inaczej sprawdzić czy teraz on gra.

Z góry dziękuje



[php:1:db7b7802fb]<?php
/********** config **********/

$host = '192.168.1.11';
$port = '6112';

/****************************/

echo $host.":".$port."<BR>n";

/****************************/

$fp = fsockopen($host, $port, $errno, $errstr, 10);

if(!$fp)
{
echo "Problem z polaczeniem: $errno - $errstr<BR>n";
}
else
{
fwrite($fp, "Helon");
if(!$data = fread($fp, 5))
{
echo "Polaczenie nieoczekiwanie zamkniete<BR>n";
}
else
{
print_r($data);
}
}
?>[/php:1:db7b7802fb]
Seth
Cytat
[php:1:a9673cac75]...
fwrite($fp, "Helon");
...[/php:1:a9673cac75]

Czy to jest poprawne zapytanie ?
Poza tym wydaje mi sie, ze chyba chodzi o Hello tongue.gif

[php:1:a9673cac75]...
fwrite($fp, "Hellorn");
...[/php:1:a9673cac75]
misiek_km
wysłałem cokolwiek tak by się dowiedzieć czy w ogóle coś odpowie, ale null
Seth
Cytat
wysłałem cokolwiek tak by się dowiedzieć czy w ogóle coś odpowie, ale null

Aby odpowiedzialo musisz wyslac cos co serwer zrozumie. Poszukaj moze na googlach jest dokumentacja protokolu StarCrafta.
Albo najlepiej odpal sniffera (polecam Ethereal) i zobacz jakie dane sa wysylane.
czezz
a koniecznie musisz to robic przez mechanizm w php? Czy moze inne rozwiazanie tez Cie interesuje.

BTW#1 StarCraft uzywa tylko portu 6112 na TCP;)
BTW#2 Badz pewien ze twoj kolega na swoim PCecie nie moze byc serverem gry chyba ze zrobiles mu PREROUTING.
misiek_km
Zrobiłem sobie skrypt do przekierowywania portów na serwerze.
W SC nie da się ustalić na jakim porcie ma działać gra.
Więc jak jednemu przekieruje port to drugi ma lipę i nie może zakładać gry.
Wpadłem na pomysł, że będą sami przekierowywać sobie port jak bedą chcieli założyć grę,
ale jak jeden już gra, a ten drugi umyśli sobie w tej chwili zagrać.
Skrypt miałby wykrywać czy w tej chwili toczy się gra jak tak to niepozwolić na na przekierowanie.
czezz
uroki passive connection. Szczerze mowiac jedynym rozwiazaniem ( wedlug mnie ) jest utorowanie drugiego interfejsu zewnetrznego ( czytaj wykupienia kolejnego lacza tongue.gif i wpiecie go do tej sieci)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.