Heim > PHP-Framework > Swoole > Hauptteil

So öffnen Sie WS mit Swoole

(*-*)浩
Freigeben: 2019-12-16 10:22:43
Original
2672 Leute haben es durchsucht

So öffnen Sie WS mit Swoole

WebSocket (ws) ist ein neues Kommunikationsprotokoll, das in HTML5 hinzugefügt wurde. Derzeit unterstützen gängige Browser dieses Protokoll , wie Chrome, Safrie, Firefox, Opera, IE usw., die früheste Unterstützung für dieses Protokoll sollte Chrome sein, das seit Chrome12 unterstützt wird. Da sich der Protokollentwurf ständig ändert, wird auch die Implementierung des Protokolls durch jeden Browser ständig aktualisiert. (Empfohlenes Lernen: Swoole-Video-Tutorial )

Swoole 1.7.9 bietet integrierte WebSocket-Serverunterstützung, und Sie können mit wenigen Schritten einen asynchronen, nicht blockierenden Multiprozess schreiben Zeilen PHP-Code WebSocket-Server.

$server = new Swoole\WebSocket\Server("0.0.0.0", 9501);
$server->on('open', function (Swoole\WebSocket\Server $server, $request) {
    echo "server: handshake success with fd{$request->fd}\n";
});
$server->on('message', function (Swoole\WebSocket\Server $server, $frame) {
    echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
    $server->push($frame->fd, "this is server");
});
$server->on('close', function ($ser, $fd) {
    echo "client {$fd} closed\n";
});
$server->start();
Nach dem Login kopieren

Zusätzlich zum Empfang der Rückruffunktionen der Basisklassen SwooleServer und SwooleHttpServer fügt der WebSocket-Server drei zusätzliche Rückruffunktionseinstellungen hinzu. Unter ihnen:

onMessage-Rückruffunktion ist erforderlich

onOpen- und onHandShake-Rückruffunktionen sind optional

WebSocketServer ist eine Unterklasse von Server, also kann es sein namens Alle Methoden des Servers.

Es ist zu beachten, dass der WebSocket-Server die Methode WebSocketServer::push verwenden sollte, um Daten an den Client zu senden. Diese Methode verpackt das WebSocket-Protokoll. Die Server::send-Methode ist die ursprüngliche TCP-Sendeschnittstelle.

Die WebSocketServer::disconnect-Methode kann eine WebSocket-Verbindung vom Server aktiv schließen und den Statuscode angeben (gemäß dem WebSocket-Protokoll ist der verwendbare Statuscode eine dezimale Ganzzahl und der Wert kann 1000 oder 4000 sein -4999) und den Grund für das Schließen (eine in UTF-8 codierte Zeichenfolge mit einer Bytelänge von nicht mehr als 125).

Der Statuscode ist 1000, wenn nicht angegeben und der Grund für das Herunterfahren leer ist

Das obige ist der detaillierte Inhalt vonSo öffnen Sie WS mit Swoole. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage