

Androidアプリの開発でJavaのSocketを使って通信しようと考えています。
現在、ソースが手元にない状態なのですが、
SocketDebuggerをサーバとして、クライアントプログラムを書きました。
流れは、指定のポート、アドレスに接続して入力された文字列をサーバが受け取り、
メッセージを返信するものです。
なのですが、サーバ側から再度メッセージを送信したときに今度はクライアント側で
受け取りそれにまた返信する…ということをやりたいのですが、今の状況ではサーバからのメッセージを受け取ることが出来ません。
プログラムは以下のサイトを参考にして少し書き換えました。
http://team-pag.interprism.co.jp/member/okazawa/ …
今のままだとクライアント側から送信するとそのまま接続が終了してしまうのですが、
たとえば「exit」を受け取ったら接続をやめる、、それまではサーバからのメッセージも受け取れる状態にする…というようにやりたいです。
ご教授お願いします!!
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
技術的にはServerSocketを作り、bind、acceptで
ソケット通信のサーバ側は処理します。
しかし、その前にプロトコルはどうなっていますか?
サーバからデータが無秩序に送られてくるような
プロトコルなんでしょうか?
よくあるFTPなどは1要求1応答と決まっています。
大量のデータを受け渡す時はデータ用ソケットを別に
作って処理します。
この時はクライアント側がサーバのように振舞いますが、
相手(サーバ)に自分(クライアント)のアドレスを知らせる
必要があるので、accept前にアドレスを通知する要求を
サーバに送るようになっています。
無秩序な送受信(TELNETはこのタイプ)なら、ソケットを
閉じなければよいだけの話です。
その他に、受信は受身で対応しなければならない性格
から、本体とは別のスレッドで処理するのが普通です。
また、通信は相手と通信経路の問題があるので、何時
切断されるか分かりません。そういった対処も考えて
おかなければなりません。
経験的に見てマルチスレッドでないと実用的なものは
難しいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- メルカリ メルカリでの誤発送トラブルに関して。 メルカリで私が誤った商品を発送してしまい、取引メッセージでもお 1 2023/08/02 00:15
- その他(メールソフト・メールサービス) メールが送信できない 発信側でできる対策 3 2023/05/11 10:22
- その他(恋愛相談) 送信取り消し 気になっている子と毎日お互いに4、5回ほどLINEを返しあっています。 会話が終わりそ 1 2022/10/04 19:10
- その他(メールソフト・メールサービス) サンダーバードでメールが受信されない 10 2022/03/24 17:00
- その他(メールソフト・メールサービス) Thunderbirdのメール送信ができません 1 2022/10/28 16:54
- クレジットカード ユーペイのクレジット決済について詳しい方教えてください。 これまで7年間バイトをしてきて初めて不思議 1 2022/07/23 16:23
- サーバー メールサーバーについて詳しい方、メールサーバーの管理業務経験のある方、教えてください。 3 2022/11/12 18:24
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- その他(ビジネス・キャリア) 仕事のメッセージが返ってこないと、イライラするのは仕方ないのでしょうか? この前仕事(というかフード 3 2022/09/08 23:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UDP通信する時に、相手にどうや...
-
TCP/IP通信時のサーバーからの受信
-
ソケットでクライアントのipア...
-
VB6のwinsockでconnectできない
-
UDP通信(SNMP)したいが、うま...
-
UDP通信におけるbind関数について
-
UdpClient 送信元のIPアドレ...
-
Winsockで接続待ちタイムアウト...
-
ソケットを用いた1対多通信につ...
-
エクセル VBA でのCOMポート...
-
相手のIPアドレスを取得する方法
-
Connectエラーが出てしまう・・...
-
Linux+GCCで、ソケットプログラム
-
ソケットのrecvの戻り値が0
-
closeされたsocketへの動作につ...
-
ネットワークプログラミングに...
-
SIPがNATを越えられない理由
-
空きポートの取得方法
-
Socket通信での通信異常について
-
ソケット通信にてサーバ日時を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
UDP通信する時に、相手にどうや...
-
エクセル VBA でのCOMポート...
-
UDP通信におけるbind関数について
-
Winsockで接続待ちタイムアウト...
-
VB6のwinsockでconnectできない
-
ソケットのクローズについて
-
Connectエラーが出てしまう・・...
-
ソケットのrecvの戻り値が0
-
recv関数でフリーズしてしまう
-
CreateFile関数でCOMポートが開...
-
WinSockでの通信プログラムがう...
-
Socket通信の0バイト受信について
-
ソケット通信 同じポート番号...
-
空きポートの取得方法
-
MFCソケットについて
-
送信したデータの一部が文字化...
-
closeされたsocketへの動作につ...
-
ネットワークプログラミングに...
-
非ブロッキングソケットのrecv...
おすすめ情報