login  Naam:   Wachtwoord: 
Registreer je!
 Forum

IRC bot sockread in while

Offline Ienzo - 21/08/2009 01:21
Avatar van IenzoNieuw lid Hey allemaal,

Ik heb een probleem bij het maken van een irc bot via php sockets. Door de manier hoe hij nu gemaakt is zou hij constant moeten loopen binnen de while, hij doet dit echter alleen maar als er iets binnen komt via de socket. Ik wil dat hij door blijft loopen in de tijd dat hij niets binnen krijgt zodat ik met regelmaat een tijd kan bij houden en ik ook instellingen kan veranderen zonder dat die pas toegepast worden waarneer hij iets binnen krijgt. Dat laatste gebeurd op dit moment namelijk pas als ik iets notice naar de bot (of iets anders natuurlijk).

Dit is de code waar het om gaat:
  1. while ($stayon == "true") {
  2. $data = socket_read($this->socket, 65000, PHP_NORMAL_READ);
  3. usleep(50000);
  4. }

($stayon wordt gewijzigd binnen de while en staat standaard op true)

Eigenlijk draait het hoofdzakelijk om de eerste twee regels. Hoe kan ik die twee combineren zodat er wél regelmatig een loop wordt uitgevoerd en niet, zoals het nu is, alleen als hij iets binnen krijgt?
Ik heb ook al geprobeerd de sockread in te nestellen binnen de if statement zoals in een tut op deze site staat, maar dat gaf hetzelfde resultaat.

Ik hoop dat jullie mij kunnen helpen met mijn probleem. Bvd.

4 antwoorden

Gesponsorde links
Offline Koen - 21/08/2009 10:08
Avatar van Koen PHP expert
  1. while($data = socket_read($this->socket, 65000, PHP_NORMAL_READ))
  2. {
  3. // Do stuff
  4. }


Zo? 
Offline Ienzo - 21/08/2009 14:16
Avatar van Ienzo Nieuw lid Dit was wat ik eerst ook ongeveer had (en wat ook in de tut hier stond) maar dit werkt jammer genoeg niet, hij doet dan precies hetzelfde.
Offline Koen - 21/08/2009 14:19
Avatar van Koen PHP expert Waarom wil je dat? dat gaat voor nogal veel onnodige load zorgen volgens mij 
Offline Ienzo - 21/08/2009 15:08
Avatar van Ienzo Nieuw lid Hmm, daar heb je inderdaad wel een erg goed punt. Mijn voornamelijkste reden was zodat ik een redelijk anti-idle script zou kunnen maken, maar misschien dat ik dat ook op een andere manier kan bereiken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s