Pereiti prie turinio

Atvaizdavimo problema


Rekomenduojami pranešimai

Pasiklydau šiek tiek ir nesuprantu, kodėl neužkrauna tokio kodo:

 

<?
if (!isset($ip))
	$ip = 'egamers.lt';
if (!isset($port))
	$port = 7777;

$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);
if (!$fp)
{
	echo "<tr><td bgcolor=\"#2B5486\">Socket Error: $errno - $errstr</td></tr>\n";
}
else
{
	$packet = 'SAMP';
	$packet .= chr(strtok($ip, '.'));
	$packet .= chr(strtok('.'));
	$packet .= chr(strtok('.'));
	$packet .= chr(strtok('.'));
	$packet .= chr($port & 0xFF);
	$packet .= chr($port >> 8 & 0xFF);

	fwrite($fp, $packet.'i');
	fread($fp, 11);
	$is_passworded = ord(fread($fp, 1));
	$plr_count   = ord(fread($fp, 2));
	$max_plrs   = ord(fread($fp, 2));
	$strlen    = ord(fread($fp, 4));
	$hostname   = fread($fp, $strlen);
	$strlen    = ord(fread($fp, 4));
	$gamemode   = fread($fp, $strlen);
	$strlen    = ord(fread($fp, 4));
	$mapname    = fread($fp, $strlen);

	echo '   <tr><td bgcolor="#2B5486" colspan="2" align="center"><b>' . $hostname . '</b></td></tr>'."\n";
	echo '   <tr><td bgcolor="#2B5486" width="100">Players: </td><td bgcolor="#2B5486" width="250">' . $plr_count . ' / ' . $max_plrs . '</td></tr>'."\n";
	echo '   <tr><td bgcolor="#2B5486">GameMode: </td><td bgcolor="#2B5486">' . $gamemode . '</td></tr>'."\n";
	echo '   <tr><td bgcolor="#2B5486">MapName: </td><td bgcolor="#2B5486">' . $mapname . '</td></tr>'."\n";
	if ($is_passworded)
	{
		echo '   <tr><td bgcolor="#2B5486">Passworded: </td><td bgcolor="#2B5486">Yes</td></tr>'."\n";
	} else {
		echo '   <tr><td bgcolor="#2B5486">Passworded: </td><td bgcolor="#2B5486">No</td></tr>'."\n";
	}

	fwrite($fp, $packet.'c');
	fread($fp, 11);
	$plr_count = ord(fread($fp, 2));
	if ($plr_count > 0)
	{
		echo '  </table><br>'."\n";
		echo '  <table width="350" bgcolor="#000000" cellpadding="4" cellspacing="1" align="center">'."\n";
		echo '   <tr><td bgcolor="#2B5486" colspan="2" align="center"><b>Players:</b></td></tr>'."\n";
		echo '   <tr><td bgcolor="#2B5486" align="center" width="250"><b>Player</b></td><td bgcolor="#2B5486" align="center" width="100"><b>Score</b></td></tr>'."\n";
		for ($i=0; $i<$plr_count; $i++)
		{
			$strlen = ord(fread($fp, 1));
			$plrname = fread($fp, $strlen);
			$score = ord(fread($fp, 4));
			echo '   <tr><td bgcolor="#2B5486">' . $plrname . '</td><td bgcolor="#2B5486">' . $score . '</td></tr>'."\n";
		}
	}
	fclose($fp);
}
?>

 

tarp:

while($blabla = mysql_fetch_array($blablablablabla))
{

 

Ta prasme noriu tą viršutinį kodą pritaikyti mysql užklausos rezultatams, kad man atvaizduotų kiekvieno serverio informaciją :). IP ir PORT kintamuosius pradžioje pasikeičiu su iš mysql gautais, bet tiesiog neužkrauna.

 

Jeigu netaikai mysql užklausoms viskas gerai veikia. Galbūt padėsite išspręsti problemą?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nemanai, kad tiesiog labai ilgai užtrunka, jei bandai keliasdešimt prisijungimų daryti? Pabandyk limituoti mysql užklausą iki kokio 1-2 įrašų :)

 

tik 5 įrašai tarp MYSQL yra, todėl nemanau dėl to. Gal dar ką pasiūlysi?

Redagavo svedas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

o gerai ištraukimą iš mysql padarei? gal tiesiog neivieno rezultato negauna iš mysql?

 

Su ištraukimu viskas kaip ir gerai. Sakykim jeigu aš noriu daryti dinaminį tai:

 

Vietoj:

$ip = 'egamers.lt';

kaip man tiksliai įrašyti, kad ip būtų šis:

 

dehtml($dnn2['ip']?

 

O nerašo jokių erroų, nieko, tiesiog nerodo? Na, tada debuggink, var_dump()'ink atidarytą socketą, kiekvieną fread() ir t.t. :)

 

Iš viso neužkrauna svetainės ir gaunu berods 404 errorą

Redagavo svedas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ziurek ar error reporting yra E_ALL - gal nematai kokiu klaidu.

Nustatyk socketo atidarymui timeouta, nes gali but kad serveris nusmiges ir todel uzkimba viskas.

 

Is viso nerekomenduociau is viso php naudot tokiam reikalui, nes nepalaiko multi threadingo... 100 serveriu - sakykim 60 neveikia, timeoutas po 5 sekundes kokias, veikimo laikas gaunas ~30+60*5=5 minutes..

Redagavo Plx
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ziurek ar error reporting yra E_ALL - gal nematai kokiu klaidu.

Nustatyk socketo atidarymui timeouta, nes gali but kad serveris nusmiges ir todel uzkimba viskas.

 

Is viso nerekomenduociau is viso php naudot tokiam reikalui, nes nepalaiko multi threadingo... 100 serveriu - sakykim 60 neveikia, timeoutas po 5 sekundes kokias, veikimo laikas gaunas ~30+60*5=5 minutes..

 

Na tokiu atveju galima bandyti naudoti duomenų kešavimą :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nu bet cache kas kelias minutes taigi galima naudoti.. :)

Tai va tokia ir esme, jog nelabai naudojant toki buda kaip cia su vienu skriptu paprastu be jokios eiles sudarymo (serveriu, kuriuos reikia atnaujinti) turesi sviezia informacija - visi duomenys bus maziausiai 5 minuciu senumo.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...