79

Webソケット実装のHelloWorldタイプの例を探しています:

これがphp.netからのSocketCreateリファレンスですが、これはWebSocketsよりも低レベルに見えます。

caniuse.comでここに示されているように、このWeb Socketsを使用したいと思います。これは、すべての新しい主要なブラウザーに実装されています。

Google検索でこのNets.TutsPlusサイトが見つかり、JavaScriptのサンプルコードを使用できます...ただし、例のようにJava、Ruby、Node.jsではなくPHPでサーバー側を実装する方法を知る必要があります。

PHP Socket Createは適切ですか?PHPはネイティブにWebSocketsをサポートしていますか?PHPの実装の正しい方向へのポイントが役立つと思います。

実際、チュートリアルにはphpwebsocketsへのリンク切れがあります...これは使用する必要のあるライブラリですか?

Websockets.orgにはテストアプリケーションがありますが、PHPについては言及されていません。

4

2 に答える 2

51

ネイティブで利用可能な標準のPHPWebSocketオブジェクトがあるという点では、ネイティブサポートはありません。

ライブラリを使用する必要があります。

次に考慮すべきことは、WebSocketサーバーの実行方法です。通常、PHPはApache、Nginx(FastCGI経由)、またはMicrosoft IIS(Fast CGI経由)で実行されます。ApacheとIISでは、WebSocketなどの永続的な接続を念頭に置いて構築されていないため、これは問題になる可能性があります。Nginxについてはよくわかりません。これが、ほとんどのPHP WebSocketライブラリが、独自のプロセスとして実行されるスタンドアロンライブラリとして構築される理由です。

見る:

注:IE10はWindows8でリリースされました

参照:Ajaxプッシュシステム

于 2012-08-30T20:02:59.457 に答える
10

はい、サードパーティのライブラリ(Ratchetのようによく言及されます)がなくても、PHP+Websocketを非常に簡単に実行できます。

この記事は非常に軽量な例です。(この便利でシンプルな記事が見つかるまで、いくつかのライブラリを含む複雑なソリューションで時間を失いました)

これに関する詳細な手順については、PHPでWebSocketサーバーを作成する方法を参照してください。

これは、常に実行されているPHPサーバーを使用します。これは、コマンドラインから開始php websockets.phpし、イベントループを使用します(Node.JSの方法と同様)。socket_createなどのネイティブPHP関数を使用することは100%可能です。

于 2021-01-30T23:25:01.737 に答える