1

ソケットを開こうとしています-> PHPページからデータを取得しますが、開く方法がわかりません:

var socket = new WebSocket("ws://myurl.com/sockets/socket.php");  

if(socket.onopen)
    alert("Open");
else
    alert("Not Open");

インデックス (このスクリプトへのリンクの上) に最新バージョンの jQuery がリンクされていますが、PHP ファイルには何もありません。接続を開くことができるかどうかを確認するためだけです。私は何かを見逃していますか、何か間違っていますか?

4

1 に答える 1

5

WebSockets には、サーバーでのプロトコル サポートが必要です。具体的には、WebSockets セキュリティ ヘッダーを使用した HTTP アップグレード ハンドシェイクのサポートです。PHP スクリプトは HTTP を話すため、WebSocket を PHP スクリプトに向けるだけでは機能しません。WebSocket は HTTP ではなく、まったく異なるプロトコルです (HTTP に基づくものではありますが)。

PHP で WebSockets を使用する場合は、WebSockets プロトコルを実装する特殊な ライブラリ を使用する必要があります (これらはどれも使用していません。Google の最初の結果にすぎません)。

もちろん、Apache と PHP はリアルタイム ジョブに最適なツールではありません。Node (および優れたsocket.ioパッケージ) を使用します。これは、多数の永続的な同時接続を処理するように設計されています。

于 2012-10-31T03:02:07.403 に答える