こんにちは。
サーバーと複数のクライアントの接続のプログラミング(java)を考えています。
サーバーをマルチスレッドに変えてクライアントも1つ1つ変えなくてはならないのか、どう変えていいのか分かりません。
ネットとか本でネットワークプログラミングについては調べてみたのですが、複数のクライアントの接続は応用みたいでなかなか参考になるのが見つかりませんでした。
サーバーと複数のクライアントの接続のプログラミング(java)の仕方を教えてください。また、参考になるホームページなどががあれば教えてください。
お願いします。
No.3ベストアンサー
- 回答日時:
とりあえずは、前の質問の回答に関して、補足欄に質問内容をより詳細に記入するなり、はたまた新たに質問し直すにしても、どのようなネットワーク形態なのかなど、違った内容にすべきだとは思いますけども。
補足蘭やお礼欄の内容によっても、自分が回答・アドバイス出来る内容なのかどうかが判断できるわけですから。(誰も回答してくれない、ではなく単に保留中といったことも有り得るわけですよ。)
とまあ、プラトンはさておきソクラテスは・・・、っと。
Webアプリ開発エンジニアのための技術情報サイト「テックスコア」
ネットワークプログラミング(java.net)
http://www.techscore.com/tech/J2SE/Network/index …
JavaでもCなどと同じようにソケットプログラミングは可能です。ただ、質問者さんもおっしゃるようになかなかネットワーク系の情報が無い原因として、Sun Educational Servicesが、SJC-Pの出題範囲からjava.netパッケージを外したことが考えられます。これによって、5系から入った最近のJavaプログラマさんは、「データグラム通信」や「マルチキャスト」などはあまり知らないんじゃないかなと思います(仕事で必要でもない限り)。
逆に言うと、1.4系以前のこの辺りの知識に明るい方というのは、以前からJavaに精通されていた方といった感じですね。(ちなみに、私が最初にJDKをインストールした時のバージョンは1.3系です。)
マルチスレッドに関しても、ネットワークによって各々異なってきます。質問者さんはTCPとUDPの違いについては大丈夫でしょうか?もし、コネクションレス型のUDPであれば、データグラム通信を用いることによりマルチスレッドにしなくても実現可能です。
はたまた、プロトコルがHTTPに限定されるのであれば(ここの「教えて!goo」のサイトみたいな感じ。)、サーブレットコンテナ(Tomcatなど)を利用するといった手もあります。したらば、低レベルの処理は全てコンテナがやってくれますので、JavaプログラマはサーブレットやJSPを使用することにより、ビジネスロジックやGUIに専念できます。
参考URL:http://www.smg.co.jp/seminar/JavaNetwork/NP_lect …
No.4
- 回答日時:
単にサーバ,クライアントの1対多ってことですか?
基礎的なことでしょうか.
で,クライアントをどうさばくかがわからない??
前に,処理を別のパソコンにさせたくて
InetAddress getInetAddress()
で,ソケット通信受けた際に相手のIPアドレスを確保させ,
処理終了後,ソケット作成時にそれを利用させて
結果を送り返させるってのをやりました…
>クライアントも1つ1つ変えなくては
の1文から判断しましたが,全然関係なかったらすいません
No.2
- 回答日時:
いちばんふつうのやり方は、ServerSocketのaccept()コールがクライアント接続のSocketを返すたびに、そのSocketをコンストラクタ引数として新たなスレッドオブジェクトを作り、そのスレッドがクライアントとのI/Oをすべて行います。
通常この方法で同時に数千クライアントぐらいを扱えます。同時アクセス数が何万クライアントという巨大なサーバでは、SocketChannelによるノンブロッキングI/Oを使います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ネットワーク 社内ネットワークの1台だけ接続できないときがある 4 2023/01/25 11:58
- ルーター・ネットワーク機器 ネットワーク共有フォルダーにWi-Fiで接続したい 4 2022/06/17 00:01
- Windows 10 リモートデスクトップ フォント 2 2023/08/19 18:07
- サーバー (童顔♀です)webサイト納品後,記事更新をこちらでする場合どうやりますか....? 3 2023/08/09 04:44
- ネットワーク 自分のPC(ローカル環境)から,Webページにアクセスする過程についての質問です。 1 2023/03/19 23:00
- UNIX・Linux raspberry piを使ったWebサーバー制作をしています、接続するネットワークを変更したときに 1 2023/01/09 15:57
- サーバー Webページに繋がるまでの流れについての質問です。 2 2023/03/19 23:15
- サーバー HP制作をしている方、納品後のデータについて 2 2023/04/12 19:29
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- その他(インターネット接続・インフラ) 有線LANでGoogleサイトのみ接続できません 2 2022/06/10 09:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ソケットを用いた1対多通信につ...
-
C#とTCP/IPを利用したサーバー...
-
UDP通信(SNMP)したいが、うま...
-
winsockを使った通信での同時接...
-
UDPの宛先ポートと送信元ポート...
-
ftpクライアントでの接続後の、...
-
UDP通信する時に、相手にどうや...
-
UdpClient 送信元のIPアドレ...
-
UDP通信におけるbind関数について
-
非ブロッキングソケットのrecv...
-
UDP通信について
-
マルチスレッドプログラミング...
-
Socket通信の0バイト受信について
-
ソケットでクライアントのipア...
-
recv関数でフリーズしてしまう
-
ソケットのrecvの戻り値が0
-
Macターミナルで実行中のプログ...
-
MACで動く実行ファイルをWindow...
-
緯度、経度の 10進法と 60進法...
-
タスクマネージャーのプロセス...
マンスリーランキングこのカテゴリの人気マンスリー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を越えられない理由
おすすめ情報