私はマルチプレイヤーボードゲームを開発しています。ユーザーは空の部屋に入り、他の誰かが参加して再生を開始するのを待ちます。 最初の演奏が空いている部屋に参加するとき、問題は直面しています。部屋は空で、彼の名前はマイケルとして表示されています。 2番目のプレーヤー(Peter)が別のブラウザーからルームに参加すると、MichaelがPlayer1、プレーヤー2と表示されます。マイケルのブラウザを表示させるにはどうすればいいですか(ピーターは部屋に入っています)。私はjquery setIntervalを使用することを考えていますが、私は一貫してサーバーを呼び出すので、効率的ではありません。助言がありますか? 例:Michaelはwww.board.com/game=1に行き、誰かが参加するのを待ちます Peterはwww.board.com/game=1に行き、彼は参加します。 Petersのブラウザでは彼は部屋の中でMicaelを見ることができます。しかし、MICHAELSのブラウザでは彼は見ることができません。誰かが部屋に入室した場合、マイケルにどのように通知することができますか? jQueryのsetintervalは解決策ですか?それは効率的ではありませんか?ユーザーが部屋に入ったときにjquery PHPのロード
答えて
HTTPの性質上、はには届かず、サーバーからリロード(またはロード情報)することはできません。彼が望むときはいつでも、ブラウザーだけがサーバーからのコンテンツにアクセスできます。それがなぜ(ページをリロードしたくないのか)唯一のオプションがjQueryを使用し、短い間隔でサーバーを呼び出す理由です。
結果があなたのニーズに合っていない場合は、ajaxリクエストを行い、同じリクエストを再度行うことができます。おそらくwindow.setTimeout( "method()"、1000);
私はPHPでソケットを使用する必要があると思います。 – user1349526
ページをリロードしたり、javascript ajax呼び出しを使用したりせずにサイトのコンテンツを変更することはできません。 window.setTimeoutを使用すると、サーバから結果を処理するたびに別の間隔を実行するかどうかを決めることができます。なぜなら、あなたがそれを必要としなくても間隔が再び実行されないからです。 – user1266222
は 'window.setTimeout(function() ' – RGB
ブラウザからWebソケットを開くことができ...
が、それ以外、あなたはregularily data..iは、PHPファイルを設定します更新取得するためにサーバーをポーリングする必要がありますあなたのインターフェイスの変更(ゲーム/チャットデータのみ)jqueryを使用して、jsonブロブを配信するには、そのPHPファイルにajax呼び出しを設定し、10〜20秒ごとに離れるようにします。データをポーリングしているだけでは、あまりにも多くのリソースを取ることはありません。
私はまったく同じ問題(サーバー部分がPHPではなくGoにあることを除いて)を使ってオンラインボードゲームを作ったので、私は同意する:WebSocketsは非常に良いこの。しかし、私はWebSocketをPHPで動作させることを考えていません。 –
あなたが私にバンプする必要があることに同意するならば! :) – RGB
あなたが望むように...完了... ^^ –
HTTPはこのような状況では作成されませんでしたが、私は良いニュースがあり、インターネットは進化しています。 最初に、新しい、より良いが互換性の低いHTML5 WebSocketです。 また、Ajaxがあなたのページを更新したり、リクエストを送信してサーバーに応答があるまで開いたままにしておく「Comet programing」のようなテクニックを使用するという定期的な要求をしています。
- 1. は、私は人が部屋に入ったときの日付のリストを持っている
- 2. Inform 7に部屋に入る前に部屋のタイプとプレイヤーの状態を確認する
- 3. .htaccess url部屋/ Blablaに書き直し
- 4. どのようにユーザーが選択したホテルの部屋を取って、滞在日数を掛ける?
- 5. URLを入力してユーザーが特定の部屋に入る方法を教えてください。 socket.io
- 6. divがページの上部に当たったときのJquery CSSの変更
- 7. jQueryサムがロードされたときにURLをロードする
- 8. SQLの入手可能な部屋
- 9. 家のレイアウトを部屋ごとにどのようにマップして、ロボットによる部屋のナビゲーションにシンプルな部屋に使用するのですか?
- 10. Java/LibGDX - 部屋から部屋に収集されたアイテムを追跡する
- 11. Jquery - ページがロードされたときにサイドバーが開きます
- 12. 指定されたクライアントソケットがどの部屋に入っているか確認してください。
- 13. 部屋のパーシスタンスエラー
- 14. ユーザーが変更を完了したときにJqueryの入力フィールド
- 15. 私はこのような部屋の居住者を発見するためのコードを持って部屋
- 16. (SQL)入力 を借りるために彼の部屋/家を投稿することができ借家/部屋 ユーザーを見つけるために、私はプロジェクトを作成したいselect文
- 17. RTCMultiConnection、部屋のセットアップと接続に失敗しました。
- 18. Node.jsがuv_io_pollに入ったとき
- 19. ユーザーが '違う'ボタンに当たったときのフラッシュセッション?
- 20. ユーザーがオンラインになったときに通知する
- 21. ユーザーはTwilio Videoで観客として部屋にどのように参加できますか?
- 22. コンテンツがロードされたときにjQueryが検出する
- 23. SocketIOは部屋
- 24. Androidの部屋のAndroid部屋内の文字列
- 25. ユーザーがその部門に入るときにキーイベントを押す方法は?
- 26. Node.js + Socket.io:ある部屋から別の部屋に移動しているプレーヤー
- 27. Outlookの[部屋]ボタン
- 28. ユーザーが戻ったときに送信した後にINPUTフィールドに値を入力する方法
- 29. の客室と対応するチャネルを取得するとき、私は、ユーザーが多くの部屋を持つことができ、各部屋には、多くのチャンネルを持つことができるアプリケーションを作成していnodejs
- 30. スプリットアドレスストリート名の家屋番号と部屋番号
効率的ではありません。これはヤフーゲームの仕組みですか?それはサーバーでチェックし続けますか? – user1349526