Dieses Mal werde ich Ihnen eine Fallanalyse der Verwendung langer PHP-Verbindungen vorstellen. Was sind die Vorsichtsmaßnahmen bei der Verwendung langer PHP-Verbindungen?
Lange Abfrage
Halten Sie eine Verbindung auf der Serverseite und kehren Sie nicht sofort zurück, bis Daten vorliegen. Dies ist der Fall Das Prinzip der Long-Connection-Technologie
Der Schlüssel zur Long-Connection-Technologie besteht darin, eine HTTP-Anfrage zu halten und nicht auf die Anfrage zu antworten, bis neue Daten vorliegen. Anschließend initiiert der Client automatisch erneut eine Long-Connection-Anfrage .
Wie halte ich eine Anfrage? Der serverseitige Code sieht möglicherweise so aus:
rrreeDas ist richtig, er soll eine Anfrage durch eine Schleife halten, um nicht sofort zurückzukehren. Die Anfrage wird erst beantwortet, wenn neue Daten gefunden werden Der Client verarbeitet die Daten. , initiieren Sie erneut eine lange Verbindungsanfrage.
Der Client-Code lautet wie folgt >
Durch lange Verbindungen können wir einen einfachen Web-Chatraum entwickelnAls Nächstes entwickeln wir einen einfachen Web-Chatraum über Redis 1 Wenn jeder Kunde eine lange Verbindung initiiert Der Server generiert eine dem Benutzer entsprechende Nachrichtenwarteschlange, sendet die Daten zur Verarbeitung an den Client zurück und initiiert erneut eine lange Verbindungsanforderung Initiiert eine Nachricht und sendet die Nachrichtenwarteschlange.
Das Folgende ist ein Codeausschnitt:set_time_limit(0); //这句很重要, 不至于运行超时 while (true) { if (hasNewMessage()) { echo json_encode(getNewMessage()); break; } usleep(100000); //避免太过频繁的查询 }
der Client das
HTML5-Websocket-Protokoll verwendet und der Server Ich glaube, Sie haben den Fall in diesem Artikel gelesen. Nachdem Sie die Methode gemeistert haben, lesen Sie bitte andere verwandte Artikel auf der chinesischen PHP-Website, um weitere spannende Inhalte zu erhalten! Empfohlene Lektüre:Detaillierte Erläuterung der Verwendung des PHP-Namespace
So konvertieren Sie chinesische Schriftzeichen und Pinyin mit PHP Chinesische Werkzeugklasse ChineseUtilDas obige ist der detaillierte Inhalt vonAnwendungsfallanalyse für lange PHP-Verbindungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!