Toon posts:

[PHP] Flood control?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een irc-bot die in php is geschreven.

Hij kan lezen wat er wordt gezegd op irc, en daar bv iets mee doen.
Als bv !help wordt gezegd.
Wordt de file help.txt als een notice verstuurd naar de user.
Maar als nu veel mensen tegelijk !help typen, quit de bot door flood.
Nu moet ik dus een manier vinden zodat de requests gestored worden in een soort rij, waar de eerste er steeds uit wordt gehaald. (een queue in java).
Maar ik kan niet echt een php command vinden hiervoor.

Heeft iemand misschien een idee?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Geloof dat het zo zit:
array_push, array_pop etc, daar kan je prima een stack mee maken van een array.
array_shift, array_unshift kan je prima een queue mee maken van een array.


Moet je ze juist door elkaar gebruiken, beide vormen samen een stack, maar array_push + array_shift of array_unshift+array_pop vormen queues :)

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 24-08 21:59

Macros

I'm watching...

Wat ACM wil zeggen is dat als je output hebt, dat je die dan in een queue moet zetten, en een ander loopje de queue uit moet laten lezen en printen, alleen met een sleep ertussen of een ander soort timertje zodat ie niet te snel print.

"Beauty is the ultimate defence against complexity." David Gelernter


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier


Nee, hij vroeg voor een php-command voor queue's :)

In java heb je een echt queue-object, in php (in elke taal trouwens) kan je dat gewoon met een array doen.

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 24-08 21:59

Macros

I'm watching...

Oh, dan heb ik nog een aanvulling, ik zou de requests niet in de queue opslaan, maar de regels van de output. Dat checkt ie ook bij flooden en niet de requests.

"Beauty is the ultimate defence against complexity." David Gelernter


Verwijderd

Topicstarter
ok bedankt allemaal, ik zal het eens gaan proberen :)
Pagina: 1