Heim  >  Artikel  >  PHP-Framework  >  Warum müssen wir in WorkerMan ein Protokoll erstellen?

Warum müssen wir in WorkerMan ein Protokoll erstellen?

(*-*)浩
(*-*)浩Original
2020-01-02 17:49:541900Durchsuche

Warum müssen wir in WorkerMan ein Protokoll erstellen?

Da TCP auf Streams basiert, fließen die vom Client gesendeten Anforderungsdaten wie Wasser in den Server. Nachdem der Server den Eingang von Daten erkannt hat, sollte er prüfen, ob die Daten vollständig sind Da möglicherweise nur ein Teil der Daten einer Anfrage den Server erreicht, oder sogar mehrere Anfragen zusammen den Server erreichen.

Um festzustellen, ob alle Anfragen angekommen sind, oder um Anfragen von mehreren verbundenen Anfragen zu trennen, sind eine Reihe von Kommunikationsprotokollen erforderlich.

Warum müssen wir in WorkerMan eine Vereinbarung treffen?

Traditionelle PHP-Entwicklung basiert auf dem Web, im Wesentlichen dem HTTP-Protokoll. Das Parsen und Verarbeiten des HTTP-Protokolls wird ausschließlich vom Webserver durchgeführt, sodass sich Entwickler nicht um das Protokoll kümmern. . (Empfohlenes Lernen: Workerman-Tutorial )

Wenn wir jedoch auf der Grundlage des Nicht-HTTP-Protokolls entwickeln müssen, müssen Entwickler die Vereinbarung berücksichtigen.

Protokolle, die bereits von WorkerMan unterstützt werden

WorkerMan unterstützt derzeit HTTP, Websocket, Textprotokoll (siehe Anhangbeschreibung), Frameprotokoll (siehe Anhangbeschreibung), WS-Protokoll (siehe Anhangbeschreibung), können Sie es direkt verwenden, wenn Sie basierend auf diesen Protokollen kommunizieren müssen. Um es zu verwenden, geben Sie das Protokoll bei der Initialisierung des Workers an, z. B.

use Workerman\Worker;
// websocket://0.0.0.0:2345 表明用websocket协议监听2345端口
$websocket_worker = new Worker('websocket://0.0.0.0:2345');
// text协议
$text_worker = new Worker('text://0.0.0.0:2346');
// frame协议
$frame_worker = new Worker('frame://0.0.0.0:2347');
// tcp Worker,直接基于socket传输,不使用任何应用层协议
$tcp_worker = new Worker('tcp://0.0.0.0:2348');
// udp Worker,不使用任何应用层协议
$udp_worker = new Worker('udp://0.0.0.0:2349');
// unix domain Worker,不使用任何应用层协议
$unix_worker = new Worker('unix:///tmp/wm.sock');

Das obige ist der detaillierte Inhalt vonWarum müssen wir in WorkerMan ein Protokoll erstellen?. 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