• ベストアンサー

PHPについて基本的なこと

ですが PHPはクライアントから呼び出されたときのみサーバはその同じクライアントのみに実行結果を送るものなのでしょうか? 2人オンラインゲームを作るとなると Aさんの呼び出しによる実行結果をAさんとBさんに Bさんの呼び出しによる実行結果をBさんとAさんに 送らないといけません Aさんの呼び出しによる実行結果をAさんに Bさんの呼び出しによる実行結果をBさんに 送ることは通常のPHPの使い方ですから問題ないとして 問題は Aさんの呼び出しによる実行結果をBさんに Bさんの呼び出しによる実行結果をAさんに に送ることができるかと言うことです そのようにPHPはできていないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • onosuke
  • ベストアンサー率67% (310/456)
回答No.3

<meta http-equiv = "refresh"> を使い, HTTPクライアントが定期的に情報を取得, 一定間隔での同期を計る方法ですね。 その方法なら,HTTPサーバでも使えます。 ただし,2秒という言葉がちょっと… というのも,HTTPクライアントソフトたる各社の Webブラウザは,それほど速いページ更新動作を 目的として設計されていません。 (同一ページ内であれば,それなりの速度で動く) その為,2秒という数字が実際に必要なら,クライ アント側の対策も必要になるでしょう。

keyguy
質問者

お礼

ありがとうございます 2秒は5秒ぐらいにしたほうがよさそうですね PHPとmetaとクリッカマブルマップによって将棋など作れるのでしょうか? 無謀でしょうか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • cororo
  • ベストアンサー率22% (2/9)
回答No.4

<?php ob_start(); if(こまが動く処理をされたら){ echo"<meta http-equiv="Refresh" content="1;URL=http:更新されたページ(同ページでもgetで値を渡すとか">"; } とかにしたらだめでしょうか。

keyguy
質問者

お礼

ありがとうございます いけるかもしれないと言うことですね

keyguy
質問者

補足

Aさんがアクションを起こしたときの Aさんの画面の更新はPHPの本来の仕事だから細工をする必要はないのではないでしょうか? Aさんのアクションを受けてその処理結果をBさんに送るのはPHPの仕事ではないのでそのときに "<meta http-equiv="Refresh"… の処理が必要になると言うことではないでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

サーバからクライアントにデータは直接送れない。 クライアントのリクエストがあれば、そのクライアントに送り返すことをしている。 ということを前提として、 Aさんの実行結果をファイルに書き出して、 Bさんがそのファイルの閲覧をリクエストすれば似たようなことはできます。 Aさんがサーバを介してBさんを直接呼び出すことはできません。 つか、PHPでオンラインゲームを作ろうとすることは間違っている。 (箱庭諸島みたいなゲームもありますが、付加がかかりすぎるので向いてない)

keyguy
質問者

お礼

ありがとうございます 無理があるのですね?

keyguy
質問者

補足

例えば2秒ごとにサーバがクライアントにアクセス要求し自動的にクライアントがサーバからデータを取りにくるといったHTMLのequiva?タグがあったような気がするのですが・・・

全文を見る
すると、全ての回答が全文表示されます。
  • onosuke
  • ベストアンサー率67% (310/456)
回答No.1

それは,PHPを使うサーバの動作でPHPの動作ではありませんが… Webで使うHTTPサーバなら >クライアントから呼び出されたときのみ >サーバはその同じクライアントのみに実行結果を送るもの です。

keyguy
質問者

お礼

ありがとうございます ということはそういうふうにはできていないということですね?

keyguy
質問者

補足

ちょっと調べてみたのですが <meta http-equiv = "refresh"> をPHPのなかで使えば何とかならないでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 他のサーバにあるphpをrequireしたい

    他のサーバにある変数を引っ張ってくる方法が分からず困っております。 (php.iniのallow_url_includeをonにすれば実行出来たのですが、  offのままで同じ結果になる方法をお教え頂きたく思います。) allow_url_includeをonにした場合には出来た方法↓ 【Aサーバ】にある「a.txt」(a.phpにすると実行出来ませんでした……) <?php $hogeA = 'テキストA'; ?> 【Bサーバ】にある「b.html」 <?php require_once ('http://www.A/a.txt'); echo $hogeA ; ?> b.htmlに「テキストA」を表させたいと考えています。 allow_url_includeを変更せずに出来る代替方法をお教え下さい。 a.phpだと実行出来なかった理由も分からないため、 よろしければこちらもお教え下さい。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPから別のHTML(PHP)へリンクさせたい

    次のような処理を考えています。 FormでSubmitされた内容をA.PHPで処理を行います。 A.PHPでは処理結果によって次の2つのケースを行う。 ケース1:B.PHPを実行する。 ケース2:X.HTMLを実行する。 (A.PHPはケース1又はケース2を実行後終了する。) _____________________________ A.PHPでのB.PHP又はX.HTMLへ処理を引き継ぐ記述は どのような構文になるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • include_onceで呼び出したPHPファイル

    PHPでサイトを組んでいるのですが、include_onceで以下のようにPHPの各ファイルを呼び出して実行しているのですがうまくいきません。 <?php //レンタルサーバーのcronを利用して、定期的に走らせるコードです。 include_once "example_a.php"; include_once "example_b.php"; include_once "example_c.php"; ?> 各ファイルは、RSSで読み込んだデータをMySQLに格納するプログラムです。 個別で各ファイルを実行すると正しい結果となりますが上記のようなプログラムでまとめて実行するとexample_a.phpは正しい結果となりますが、example_b.php、example_c.phpは正しく処理されません。 原因として考えられるものがあれば、教えていただきたいと思います。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPから他のPHPにPOSTして結果を得る方法

    a.phpから他サーバーにあるb.phpに入力されたデータをPOSTで送り、b.phpの「登録が完了しました」といった出力結果を、a.phpで処理したいと考えています。 PHPからPOST送信し、その結果を取得するにはどういった関数やコードがあるかを知りたいです。 よかったら回答をお願いします。

    • ベストアンサー
    • PHP
  • JavaScriptからPHP実行

    PHPのIf文の結果によってJavaScriptからA.phpか、B.phpファイルを実行したいのですがJavaScriptからphpファイルを実行するのはどういったコードで可能でしょうか?

    • ベストアンサー
    • PHP
  • このphpを実行させたいのですが・・・

    はじめまして 私は現在同じLAN上のパソコンからphpを実行できるホストPCにGETコマンドを送り、遠隔でphpを実行したいと考えています。 ただ普通のC言語だとパソコンA→ホストPC→パソコンAのようにGETコマンドを送ったPCにそのphpの実行結果がきます。 私が今回したいのはパソコンA→ホストPC→パソコンBのようにGETコマンドを送るPCと実行結果が表示されるPCを別にしたいのです。 そこでこんなphpを作ってみました↓ ------------------------------------------------------ <?php $fp = fsockopen("パソコンBのIPアドレス" , パソコンBのポート番号 ,$errno, $errstr); if (!$fp) echo "$errstr ($errno)"; else{ fputs($fp,"abcd"); fclose($fp); } ?> ------------------------------------------------ しかしこのphpではパソコンA→ホストPC→パソコンBできないだけではなく 普通にパソコンA→ホストPC→パソコンAですら実行できません。 何が原因かわかるかたがおられましたらよろしくお願いします。 p.s. 最終的にはパソコンA→ホストPC→Xportのようにポート番号がパソコンA、ホストPCの「60」と異なる「10001」のXportに実行できるようにしたいです。 そこのところで問題点があると思われるかたも意見よろしくお願いします。

    • 締切済み
    • PHP
  • PHPで画像の参照元を知る。

    当社のシステムをクライアントのサーバーへ導入し貸し出すのですが、<img src="http://当社のサーバー.php">という1x1ピクセルの画像をシステムに埋め込んでおき、それ場所意外でシステムを複製された場合に分かるようにしたいです。(もっともソースを解析されると意味ありませんが・・・) こちらのサーバーのログファイル(a.log)に新しいドメインからの呼び出しがあれば追記していきたいのですが、どのようなコードを書けばよいでしょうか。

    • 締切済み
    • PHP
  • PHPのSleepについて

    PHPでTwitterでメンションされたら自動返信するプログラムを書いて、Lolipopのcronにて1分間隔で実行されるようにしています。 しかし、どうしても1分間隔だと返信までに時間がかかってしまう場合があり、もう少し間隔を狭くしたいと考えております。 そこで、PHPのSleep関数を使用して 、関数呼び出し→20秒待機→関数呼び出しというプログラムにしました。 (ちなみにLolipopはPHPの処理時間が30秒までに制限されています) ここで疑問なのですが、Sleepの状態でもサーバー側に高い負荷がかかってしまうものなのでしょうか。 このプログラムでも問題ないのか、もしくはやめておいた方がよいのか教えていただけたら幸いです。

    • 締切済み
    • PHP
  • PHPとhtmlの関係

    PHPの学習を始めました。 Webページを作る場合に,PHPの中にhtmlを記述するときと、htmlの中にPHPを記述するときがあるようですが、PHPの中にhtml文をPRINT命令で記述するケースではサーバー主導で命令が実行されるので記述した文のとおりの実行順で実行されることがイメージできますが、逆にhtmlの中でPHPを記述したときのクライアントとサーバーの命令のやり取りの順番がイメージできません。 どなたか,私のような初心者にわかりやすく教えていただけないでしょうか?

    • 締切済み
    • PHP
  • PHPでリモート間のファイル転送

    linuxのサーバーが2台ありまして クライアントがブラウザ上でボタンを押したら サーバAにあるファイルをサーバBにコピーして同期をとりたいのですが、手順がわかっていてもそれをPHPで実現できずにいます。 PHPプログラム自体はサーバCに置いてあります。 手順として 1.sshでサーバBに接続 2.rootにログイン 3.rsyncでAよりBに該当ファイルの上書き 4.rootログアウト 5.切断 という流れなのですが。 ご教授いただければ幸いです。 よろしくお願いいたします。

    • 締切済み
    • PHP