Heim  >  Artikel  >  Backend-Entwicklung  >  Anwendungsfallanalyse für lange PHP-Verbindungen

Anwendungsfallanalyse für lange PHP-Verbindungen

php中世界最好的语言
php中世界最好的语言Original
2018-05-18 14:48:492202Durchsuche

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:

rrree

Das 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 entwickeln

Als 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);   //避免太过频繁的查询
}
Lange Verbindungen vermeiden zu häufige Abfragen. Allerdings verbraucht die Aufrechterhaltung einer langen Verbindung auf dem Server auch zusätzliche Ressourcen. Leistung bei großer Parallelität. Sie können die Verwendung von

in kleinen Anwendungen in Betracht ziehen. Es wird außerdem empfohlen, dass

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 ChineseUtil

Das 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!

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