WebSocket ist eine Technologie, die eine Vollduplex-Kommunikation zwischen einem Web-Client und einem Webserver ermöglicht. Dies ermöglicht eine Datenübertragung in Echtzeit und eignet sich daher ideal für Anwendungen wie Online-Gaming, Instant Messaging und Finanzdaten-Streaming.
Die in der Frage erwähnte phpwebsockets-Bibliothek ist tatsächlich vorhanden veraltet und unterstützt nicht das neueste WebSocket-Protokoll. Darüber hinaus funktioniert die Aktualisierung möglicherweise nicht wie vorgesehen.
Das Folgende ist ein Beispiel eines PHP-Codeausschnitts für einen einfachen WebSocket Server:
<?php $master = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_set_option($master, SOL_SOCKET, SO_REUSEADDR, 1); socket_bind($master, 'localhost', 12345); socket_listen($master, 20); $sockets = array($master); $users = array(); $debug = false; while (true) { $changed = $sockets; socket_select($changed, $write = NULL, $except = NULL, NULL); foreach ($changed as $socket) { if ($socket == $master) { $client = socket_accept($master); if ($client < 0) { console("socket_accept() failed"); continue; } else { connect($client); } } else { $bytes = @socket_recv($socket, $buffer, 2048, 0); if ($bytes == 0) { disconnect($socket); } else { $user = getuserbysocket($socket); if (!$user->handshake) { dohandshake($user, $buffer); } else { process($user, $buffer); } } } } }
Dieses Codegerüst demonstriert die oben besprochenen Schritte, einschließlich der Erstellung und Überwachung des Master-Sockets, der Annahme eingehender Verbindungen, der Durchführung des WebSocket-Handshakes und der Verarbeitung von Client-Nachrichten. Das vollständige Skript sollte um die übrigen zuvor beschriebenen Funktionen ergänzt werden, wie zum Beispiel connect(), interrupt() und processing().
Das obige ist der detaillierte Inhalt vonWie erstellt man einen WebSocket-Server in PHP mit „socket_*'-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!