Heim  >  Artikel  >  PHP-Framework  >  Ausführliche Erläuterung der Workerman-Open-Source-Bibliothek: Teilen von Beispielen für die schnelle Erstellung von Serveranwendungen mit hoher Parallelität

Ausführliche Erläuterung der Workerman-Open-Source-Bibliothek: Teilen von Beispielen für die schnelle Erstellung von Serveranwendungen mit hoher Parallelität

WBOY
WBOYOriginal
2023-08-05 16:37:031111Durchsuche

Ausführliche Erklärung der Open-Source-Bibliothek Workerman: Austausch von Beispielen für die schnelle Erstellung von Serveranwendungen mit hoher Parallelität

Einführung:
Im IT-Bereich steigt mit der rasanten Entwicklung des Internets die Nachfrage nach Serveranwendungen mit hoher Parallelität. Um dieser Nachfrage gerecht zu werden, suchen Entwickler nach verschiedenen Methoden und Tools, um effiziente und skalierbare Serveranwendungen zu erstellen. Als PHP-Open-Source-Bibliothek bietet Workerman eine Lösung für die schnelle Erstellung von Serveranwendungen mit hoher Parallelität. In diesem Artikel werden die Funktionen und Verwendungsmöglichkeiten von Workerman im Detail vorgestellt und seine leistungsstarken Funktionen anhand der gemeinsamen Nutzung von Beispielen demonstriert.

1. Einführung in Workerman
Workerman ist ein vom chinesischen Entwickler Huang Yanhua entwickeltes und quelloffenes PHP-Framework, das darauf abzielt, eine einfache, flexible, effiziente und stabile Entwicklungslösung bereitzustellen. Seine Hauptmerkmale sind wie folgt:

  1. Hohe Leistung: Workerman basiert auf dem ereignisgesteuerten Programmiermodell von PHP und der Kernel wird mithilfe des Epoll-Edge-Trigger-Modus implementiert, was die Fähigkeit des Servers, gleichzeitige Anforderungen zu verarbeiten, erheblich verbessert. Im Vergleich zum herkömmlichen synchron blockierenden E/A-Modell wurde die Leistung von Workerman erheblich verbessert.
  2. Unterstützung mehrerer Protokolle: Workerman unterstützt HTTP, WebSocket und benutzerdefinierte Protokolle. Das bedeutet, dass Sie zufrieden sein können, egal ob Sie einen Webserver oder eine Echtzeit-Kommunikationsanwendung entwickeln.
  3. Gute Skalierbarkeit: Workerman bietet umfangreiche Erweiterungsschnittstellen und Plug-in-Mechanismen. Entwickler können eine maßgeschneiderte Entwicklung entsprechend den tatsächlichen Anforderungen durchführen und problemlos in andere Frameworks (wie Laravel, Symfony usw.) integriert werden. 2. Beispiel für die Verwendung von Workerman

Workerman installieren
Zuerst müssen wir Workerman über Composer installieren. Öffnen Sie ein Befehlszeilenterminal und führen Sie den folgenden Befehl aus:

  1. composer require workerman/workerman
Erstellen Sie eine Serveranwendung.

Erstellen Sie eine Datei namens chat.php und schreiben Sie den folgenden Code hinein:

    <?php
    
    require __DIR__ . '/vendor/autoload.php';
    
    use WorkermanWorker;
    
    // 创建一个Worker监听8080端口,使用WebSocket协议通信
    $ws_worker = new Worker("websocket://0.0.0.0:8080");
    
    // 启动多个进程,以利用多核CPU
    $ws_worker->count = 4;
    
    // 响应浏览器请求时触发的回调函数
    $ws_worker->onMessage = function ($connection, $data) {
        // 向所有客户端广播消息
        foreach ($ws_worker->connections as $client) {
            $client->send($data);
        }
    };
    
    // 运行Worker
    Worker::runAll();
  1. Der obige Code wird erstellt ein Worker-Objekt von WebSocket und lauscht auf Port 8080.
    Die Rückruffunktion wird verwendet, um die vom Browser gesendete Nachricht zu verarbeiten und die Nachricht zurückzusenden, indem alle Clientverbindungen durchlaufen werden, wodurch die Nachricht an alle verbundenen Clients gesendet wird.

Starten Sie die Serveranwendung.$ws_worker->onMessageWechseln Sie im Befehlszeilenterminal in das Verzeichnis, in dem sich chat.php befindet, und führen Sie den folgenden Befehl aus, um die Serveranwendung zu starten:

  1. php chat.php start
Schreiben Sie einen HTML-Code Seite

Erstellen Sie eine Datei mit dem Namen index.html-Datei und schreiben Sie den folgenden Code hinein:

    <!DOCTYPE html>
    <html>
    <head>
        <title>Workerman聊天室</title>
        <style>
            #messages {
                height: 200px;
                overflow-y: scroll;
            }
        </style>
        <script>
            var ws = new WebSocket('ws://localhost:8080');
    
            ws.onopen = function () {
                console.log('连接成功!');
            };
    
            ws.onmessage = function (event) {
                var messages = document.getElementById('messages');
                messages.innerHTML += '<br>' + event.data;
                messages.scrollTop = messages.scrollHeight;
            };
    
            function sendMsg() {
                var input = document.getElementById('message');
                var msg = input.value;
                input.value = '';
    
                ws.send(msg);
            }
        </script>
    </head>
    <body>
        <div id="messages"></div>
        <input type="text" id="message" placeholder="请输入消息">
        <button onclick="sendMsg()">发送</button>
    </body>
    </html>
  1. Der obige Code erstellt eine WebSocket-Verbindung und sendet die Nachricht an den Server, indem Sie die Nachricht auf der Seite eingeben und auf die Schaltfläche „Senden“ klicken. Der Server sendet die Nachricht an alle verbundenen Clients und die Clients zeigen die Nachricht nach dem Empfang auf der Seite an.
Führen Sie die Anwendung aus

Platzieren Sie die Datei index.html im Stammverzeichnis des Webservers und besuchen Sie http://localhost/index.html im Browser. Sie können die auf Workerman basierende Chatroom-Anwendung erleben.

  1. Fazit:
    Dieser Artikel stellt die Eigenschaften und Verwendung der Workerman-Open-Source-Bibliothek vor und demonstriert anhand eines Beispiels, wie Workerman zum Erstellen einer Chatroom-Anwendung auf Basis von WebSocket verwendet wird. Workerman ist aufgrund seiner hohen Leistung, Multiprotokollunterstützung und guten Skalierbarkeit zu einem der beliebtesten Tools von Entwicklern geworden. Lassen Sie uns voranschreiten und gemeinsam mehr Möglichkeiten für Serveranwendungen mit hoher Parallelität erkunden.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Workerman-Open-Source-Bibliothek: Teilen von Beispielen für die schnelle Erstellung von Serveranwendungen mit hoher Parallelität. 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