Autor Zpráva
buchtic
Profil *
Dobrý den,

nemocný kód:
<?php
set_time_limit(0);
$socket = fsockopen("chat.freenode.net", 6667);
fputs($socket,"USER CZSKTF2L CZSKTF2L FB :CZSKTF2L\r\n");
fputs($socket,"NICK CZSKTF2L\r\n");
fputs($socket,"JOIN #omg\r\n");
$cislo = 0;

while(1) {
        while($data = fgets($socket, 128)) {
                echo nl2br($data);
                flush();
                $ex = explode(' ', $data);
                if($ex[0] == "PING"){
                        fputs($socket, "PONG ".$ex[1]."\r\n");
                }
                $command = str_replace(array(chr(10), chr(13)), '', $ex[3]);
                
                if ($command == ":!pis") {
                $cislo++;
                        fputs($socket, "PRIVMSG ".$ex[2]." :".$cislo."\r\n");
                }
}
}
?>


Stránka se načítá do nekonečna a nic se neděje (používám vlastní server PHPEasy a zatížení procesoru stoupne na 100%!).

Ale, když nahradím
 fputs($socket, "PRIVMSG ".$ex[2]." :".$cislo."\r\n");
(řádek 21) tímto:
fputs($socket, "PRIVMSG ".$ex[2]." :Dobrej den vincuju\r\n");
Tak všechno funguje bez problémů.
Neví někdo kde se mi zakopal pes? Děkuju
Audio
Profil *
Problém tam nevidim, nicméně stránka by se ti měla načítat nekonečně dlouho tak jako tak. To je dané použitím while(1).
buchtic
Profil *
To ano, načítá se vždy nekonečně dlouho, ale bot se alespoň připojí na kanál a "odepisuje". Takhle ale nic ..
buchtic
Profil *
Nikdo neví? :(
Audio
Profil
Na netu koluje asi 700 verzí tohohle skriptu, tak zkus holt použít jinej :) Nebo ještě lépe vytvořit IRC bota v něčem jiném než v PHP, protože PHPko se na to prostě nehodí.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0