No.1
- 回答日時:
詳細が不明なので回答しにくいですが、一般的にはソケット(JavaならSocketクラス)を使えば可能でしょう。
ただし、これはJavaに限った話ではありません。ソケット通信は大抵のプログラミング言語で使用可能です。
質問者さんはWebを利用したいのでしょうか?
それであれば、Javaアプレットでサーバプログラムとソケット通信すれば可能です。
(アプレットでなくActiveXでも可能かもしれません。)
もちろん、サーバプログラムはどこかに用意しておく必要があります。
サーバの方はJavaでなくても構いません。
Webを利用しない場合は、クライアント/サーバ共に通常のアプリケーションになります。
この場合もクライアント/サーバ間での通信はソケット通信になると思います。
必ずしもJavaを使う必要はありません。サーバとクライアントで別の言語を使用しても構いません。
ただ、複数のOSで動作するクライアントプログラムを作るためにJavaを使用するのは良い選択だと思います。
>どういう仕組みでサーバとクライアント2者間でのやり取りをするのでしょうか?
ソケット通信ならどうとでもできるかと…。
この回答への補足
ありがとうございます
質問者さんはWebを利用したいのでしょうか?:
そうです
最初にサーバにアクセスした人が先手になり
次にサーバにアクセスした人が後手になり
それぞれにオセロ盤が表示され
自分の番のときに盤上をクリックするごとに石が置かれていくのです
例えば先手がクリックすればサーバはそれに対する応答を先手に返すことができるのですが
先手のクリックを後手に知らせる方法がアクセスが一過性であるために難しいのです
そのためにPHPでは相手が打つのを待っているほうに
<meta http-equiv = "refresh">
で定期的に自動更新させるという方法を取るしかないかと思います
サーバをSとし
先手をAとし
後手をBとしたとき
Aがクリックした情報をSをとおしてBに知らせるには
Javaではどのようにするのでしょうか?
<meta http-equiv = "refresh">
を使わなくていいのですね?
No.2ベストアンサー
- 回答日時:
ソケット通信とは「交通ルール」みたいなものです。
そのルールでは「赤信号は止まれ」とか「この標識は駐車禁止」とかが決められています。
Webというのはhttpというルールでやり取りしています。
httpとは「郵便局の配送ルール」みたいなものです。
郵便局は「交通ルール」という道路を使う上で守らなければいけないルールを守りながら、自分達のルールで局の間や配達先に郵便物を配っています。
通信ではこのルールのことをプロトコルと呼び、交通ルールのようにより基本的なプロトコルは「下位のプロトコル」、郵便局のルールのように実際の業務に近いものを「上位のプロトコル」と呼びます。
質問者さんはこの「httpで」というところで話されているので、metaタグとかPHPではという話になっています。
ところが#1さんは「ソケット通信」のところで話してますので、JavaやPHPや他の「ソケット通信」が可能な言語なら「あなたのオセロゲームの通信ルール」を自分で作れますよ、とおっしゃってるのだと思います。
そして「httpだけ」を使っている以上、サーバ側の処理をどんなプログラム言語でやっていようが、クライアントから定期的に情報をとるようにするにはmetaタグでの処理が必要です。そのためサーバ側がサーブレットでもJSPでもPHPでもhttpを使っているので、同じようにmetaタグを使わねばならないでしょう。
「ソケット通信」では上位のプロトコルを自前で作ってしまう上に、「ソケット」が作れるプログラム言語ならどの言語ともやりとりできるので、なんでもありなのです。
JavaとPHPの大きな違いはブラウザ上で動くプログラムを作れるかどうかです。
PHPは(私が調べた限り)できないようですが、Javaはアプレットがあります。
このアプレットを使えば、一見するとWebで(=http)でやりとりしたように感じますがアプレットがソケットを使えば、最初にhttpをつかったかどうかに関係なく、他のプロトコルを使うことができるのです。
と、ここまで説明したところで・・・「Javaで」と聞かれたとき、それがどこで使われるのかによって答えは変わります。
クライアントでも使えるのならソケットを使えばなんでもありだし、サーバでhttpだけならPHPと変わりありません。
ありがとうございます
クライアント側でアプレットを実行するのはJavaが使えないクライアントを排除することになるので魅力が減退しますね?
PHPとMETAでやればすべてのブラウザに対応できるので
相手が打つのを待っているクライアントの定期的な更新による画面のちらつきを我慢しなければならないけれども
最適かもしれませんね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP でメールフォームを作成したい 1 2022/05/04 22:28
- WordPress(ワードプレス) 「あるサイトのリンクを踏まないと、次のサイトを見れない仕組み」を作りたい 2 2022/07/20 02:43
- Java 自作Androidアプリのデータ引き継ぎ方法について。 Android Studio でアプリを作成 1 2022/08/13 21:44
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- マルウェア・コンピュータウイルス 他人のパソコンなどのWEBカメラを乗っ取って盗撮するスパイソフトやウィルスソフトについて 1 2023/04/20 07:21
- 医学 農業は次のステージに行けるか? 5 2023/02/22 16:29
- 会社・職場 労働組合に入れますか? 1 2023/06/06 12:10
- 国家公務員・地方公務員 公務員試験の作文対策です! 良ければ添削お願いします! ●大地震が起きた時、〇〇町職員として何をすべ 1 2022/10/01 12:32
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
ソケットを用いた1対多通信につ...
-
同じLAN内パソコンのIPアドレス...
-
Socket通信の0バイト受信について
-
VB6のwinsockでconnectできない
-
UDP通信する時に、相手にどうや...
-
相手のIPアドレスを取得する方法
-
UDP通信におけるbind関数について
-
ソケット通信 同じポート番号...
-
Socket通信を待ち受け状態にす...
-
エクセル VBA でのCOMポート...
-
JavaによるXMLの送受信
-
ソケットのrecvの戻り値が0
-
株価チャートプログラム
-
Delphi で作成中 DLL の中で Pr...
-
UDPを使って通信速度測定プログ...
-
ソケット通信について(Tcp)
-
送信したデータの一部が文字化...
-
ネットワークプログラミングに...
-
ソケットでクライアントのipア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
UDP通信におけるbind関数について
-
Winsockで接続待ちタイムアウト...
-
recv関数でフリーズしてしまう
-
VB6のwinsockでconnectできない
-
ソケットのクローズについて
-
UDP通信する時に、相手にどうや...
-
エクセル VBA でのCOMポート...
-
ソケットのrecvの戻り値が0
-
UdpClient 送信元のIPアドレ...
-
Socket通信の0バイト受信について
-
WinSockでの通信プログラムがう...
-
同じLAN内パソコンのIPアドレス...
-
ソケット通信 同じポート番号...
-
VC++でのソケット通信について
-
Connectエラーが出てしまう・・...
-
CreateFile関数でCOMポートが開...
-
Winsockを使わずにVBでSocketを...
-
VB6‥ソケットについて
-
SIPがNATを越えられない理由
おすすめ情報