ホームページ >ウェブフロントエンド >jsチュートリアル >質問は次のとおりです。phpwebsocket の代替方法を使用して PHP で WebSocket サーバーを作成するにはどうすればよいですか?
PHP で WebSocket サーバーを作成する方法
背景
WebSocket は全二重を提供します、既存の HTTP 接続を介したクライアントとサーバー間のリアルタイム通信チャネル。 PHP では、WebSocket サーバーの作成を支援するいくつかのフレームワークがあります。
PHPWebSocket コード
phpwebsocket ライブラリの更新が難しいとおっしゃいました。かつては人気がありましたが、古いため問題が発生する可能性があります。代替方法は次のとおりです:
サーバーの PHP コード
<code class="php"><?php // Create WebSocket server on localhost:12345 $master = WebSocket("localhost", 12345); // Initialize sockets and user arrays $sockets = array($master); $users = array(); while (true) { $changed = $sockets; socket_select($changed, $write = NULL, $except = NULL, NULL); foreach ($changed as $socket) { if ($socket == $master) { // Handle new client connections $client = socket_accept($master); if ($client < 0) { echo "socket_accept() failed\n"; continue; } else { connect($client); } } else { // Handle incoming data from clients $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); } } } } }</code>
クライアントの JavaScript コード
<code class="javascript">var connection = new WebSocket('ws://localhost:12345'); connection.onopen = function () { connection.send('Ping'); // Send 'Ping' message to server }; // Log errors connection.onerror = function (error) { console.log('WebSocket Error ' + error); }; // Log messages from server connection.onmessage = function (e) { console.log('Server: ' + e.data); };</code>
Firefox の問題のトラブルシューティング
エラー メッセージによると、指定された URL でサーバーにアクセスできない可能性があります。次の点を確認してください:
追加のヒント
以上が質問は次のとおりです。phpwebsocket の代替方法を使用して PHP で WebSocket サーバーを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。