2016-05-23 14 views
0

Ich kämpfe mit einer Idee, die ich mit meinem Socket-Server habe. Es basiert auf Ratchet-PHP.Erstelle einen Timer mit Ratchet php

Was ich erreichen möchte, ist nach einem bestimmten Ereignis möchte ich einen Timer einstellen. Wenn der Timer beendet ist, um jede Verbindung zu melden. Wenn ich die Funktion sleep verwende, schläft mein Socket-Server und kann für diese Zeit nichts akzeptieren.

Können Sie mir bitte eine Idee geben, wie es geht, oder ist es möglich?

Antwort

2

Sie sollten nie die Arbeit der Event-Loop-Server blockieren ...

Um einen Timer erstellen - Sie müssen LoopInterface (Reactphp Bibliothek) kontaktieren.

Normalerweise ist es in den Serverklassen (zB IOServer)

Das ist, wie Sie einen Timer erstellen:

$this->loop->addPeriodicTimer($timeout, function($timer) { 

}); 
+0

Sie nur mein Leben gerettet. Vielen Dank! –

+1

Komplettes Beispiel hier: https://blog.wyrihaximus.net/2015/01/reactphp-timers/ – jaggedsoft