Heim >Backend-Entwicklung >PHP-Tutorial >Wie implementiert swoole eine einzelne Abfrage und sendet sie dann an alle?

Wie implementiert swoole eine einzelne Abfrage und sendet sie dann an alle?

WBOY
WBOYOriginal
2016-08-18 09:16:201305Durchsuche

Meine Anforderung besteht darin, die Datenbank von Zeit zu Zeit abzufragen und sie dann an alle weiterzugeben
Der Code ähnelt dem folgenden:
while(true){

<code>$sql ="select 1+1";
$count=$mysql->query($sql);
foreach($serv->connections as $fd)
{
    $serv->push($fd, $count);
}
sleep(1000);</code>

}
Wenn ich zum Schreiben dies on('message') von swoole websocket verwende, wird eine Kopie dieses Codes geöffnet und jedes Mal ausgeführt, wenn der Client eine Verbindung herstellt.
Wie können wir einen Code ausführen, damit alle Kunden ihn erhalten können? .

Antwortinhalt:

Meine Anforderung besteht darin, die Datenbank von Zeit zu Zeit abzufragen und sie dann an alle weiterzugeben
Der Code ähnelt dem folgenden:
while(true){

<code>$sql ="select 1+1";
$count=$mysql->query($sql);
foreach($serv->connections as $fd)
{
    $serv->push($fd, $count);
}
sleep(1000);</code>

}
Wenn ich zum Schreiben dies on('message') von swoole websocket verwende, wird eine Kopie dieses Codes geöffnet und jedes Mal ausgeführt, wenn der Client eine Verbindung herstellt.
Wie können wir einen Code ausführen, damit alle Kunden ihn erhalten können? .

Ich erinnere mich, dass es einen Timer gibt, oder? Aber ich verstehe es auch nicht

Wenn Sie nur Nachrichten verwenden, unterteilen Sie die Nachrichten in zwei Arten: Die eine ist die vom Administrator gesendete Nachricht und die andere wird an andere Benutzer gesendet. Überprüfen Sie dann jedes Mal die Datenbank, wenn Sie eine Nachricht von einem Administrator erhalten Senden Sie es in großen Mengen an andere.
Wenn Sie der Meinung sind, dass dies zu viel Zeit in Anspruch nimmt, können Sie die Hauptaufgaben in Aufgaben zusammenfassen, sodass der Administrator sofort nach dem Senden einer Nachricht zurückkehren kann, um andere Nachrichten zu bearbeiten, und komplexe Dinge den Aufgaben überlassen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn