0

Socket.IO Websocket を使用して、ライブ更新でカレンダーを構築しようとしています。ポート 8181 で実行されている Socket.IO サーバーを取得することができましたが、私の calendar.php はポート 80 で apache を介して管理されています。

私がやろうとしているのは、calendar.php を apache で使用し、同時にポート 8181 で Socket.IO サーバーに接続することです (または、apache でポート 80 にバインドしますが、それはかなり複雑なようです。試してみましたバックプロキシが機能しませんでした) 誰かがカレンダーでイベントを編集したときに更新を受信します。私のイベントは SQL データベースに保存されます。

ポート80でApacheが提供するphpページで、ポート8181でSocket.IOを使用する方法はありますか?

ありがとう!

4

1 に答える 1

1

あなたの問題を理解しているかどうかわかりません。ページがポート 80 で PHP によって提供されると、最も単純なセットアップで 8181 で socket.io サーバーに接続します。

それ以降は、おそらくメッセージを socket.io サーバーに送信して処理することになるため、再び php を操作する必要はありません。

socket.io の負荷分散には、HAProxy を使用できると思います。また、Github にも LearnBoost の代替手段があると思います。実際、私のアプリではまだこのステップに到達していないため、ここで多くの情報を提供することはできません.

しかし、そうです、socket.io サーバーはメッセージを受信、処理、送信する必要があります。socket.io のインスタンスが複数実行されている場合は、Pub/Sub に redis を使用することもできます。

データベースと直接対話できるようにする非同期 MySQL ドライバー用のノード モジュールがあります。アプリで MongoDb を使用しているため、MySQL モジュールを使用したことはありません。

別の方法として、PHP サーバーを Web サービスとして使用し、socket.io サーバーとやり取りすることもできますが、そのようにすると時間がかかると思います。

うまくいけば、それで問題が解決します。あなたのセットアップは開発環境ですでに機能しているようです。

于 2012-04-05T00:22:08.773 に答える