logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Zlecenie - napisania programu w C/C++ (+ obsługa MySQL)

Wirniik 17 Lut 2013 17:21 894 0
REKLAMA
  • #1 11947611
    Wirniik
    Poziom 1  
    Posty: 1
    Wita, potrzebuje takiej aplikacji:

    * System Debian 6 squeeze (wiersz poleceń.)

    Jest to program do wysyłania zapytania na dany port jeśli otrzymamy odpowiedź wiadomość zapisujemy w bazie (otrzymujemy wiadomość w postaci XML)

    1. Mamy baze danych: (przykładową)
    	(auto) id || ip || port || nazwa || motd || pOnline || pMax || pPeak || serverOnline
    	
    			1 || 178.217.186.173 || 7171 || brak || brak || 0 || 0 || 0 || 0
    			2 || 198.24.138.139 || 7171 || brak || brak || 0 || 0 || 0 || 0
    			3 || 74.86.152.58 || 7171 || brak || brak || 0 || 0 || 0 || 0


    2. Aplikacja musi sprawdzić każde IP:Port jeśli będzie połączenie otrzymujemy odpowiedź w postaci XML:

    <?xml version="1.0"?>
    	<tsqp version="1.0">
    		<serverinfo uptime="50060" ip="178.217.186.173" servername="Unnamed" port="7171" location="Europe" url="http://xxx/" server="TheForgottenServer" version="0.4_DEV" client="8.55"/>
    		<owner name="CvB" email="admin@korykora.org"/>
    		<players online="45" max="800" peak="172"/>
    		<monsters total="28974"/>
    		<npcs total="366"/>
    		<map name="project-society.otbm" author="CvB" width="38000" height="38000"/>
    		<motd>Welcome to the Unnamed Server!</motd>
    	</tsqp>


    3. Otrzymane dane musi zapisać do tabeli.
    po zapisie ma wyglądać tak:
    	(auto) id || ip || port || nazwa || motd || pOnline || pMax || pPeak || serverOnline
    			1 || 178.217.186.173 || 7171 || Unnamed || Welcome to the Unnamed Server! || 45 || 800 || 172 || 1


    jeśli nie ma połączenia/brak wiadomości zwrotnej "serverOnline = 0
    1 || 178.217.186.173 || 7171 || brak || brak || 0 || 0 || 0 || 0



    4. Czynność te (sprawdzania każdego IP:Prot poklei i zapisywać wiadomość) ma powtarzać co 10~15 min (może być w aplikacji lub tez program uruchamiany prze Crona - bez znaczenia)


    Mam taki skrypt napisany w PHP ale przy większej ilości serwerów do sprawdzenia PHP nie daje rady. (ok 100 serwerów)

    moja funkcja w PHP do sprawdzania połączenia/odbierania danych

    	function getinfo($hosts,$port){
    			$socket = @fsockopen($hosts, $port, $errorCode, $errorString, 1);
    			$data = '';
    			if($socket)
    			{
    				stream_set_timeout($socket, 1);
    				fwrite($socket, chr(6).chr(0).chr(255).chr(255).'info');
    				while (!feof($socket)){
    					$data .= fread($socket, 128);
    				}
    				fclose($socket);
    			}
    		return $data;
    	}



    Chętnych proszę o informacje z wyceną na emial: wirniik [at] gmail.com
  • REKLAMA
REKLAMA