

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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
UdpClient 送信元のIPアドレ...
-
ソケット通信 同じポート番号...
-
ソケットのrecvの戻り値が0
-
エクセル VBA でのCOMポート...
-
TCP/IPプログラミングでのselec...
-
VB6‥ソケットについて
-
ソケットプログラミングに関す...
-
ネットワークプログラミングに...
-
UDP通信におけるbind関数について
-
ソケットを用いた1対多通信につ...
-
recv関数でフリーズしてしまう
-
fsockopenのソケットが全然分か...
-
Macターミナルで実行中のプログ...
-
Excel(VBA)でSetTimer関数を使...
-
AIXでのプロセス使用メモリの最...
-
C# シリアル通信でデータ受信...
-
FOM出版の公認テキスト&問題集...
-
メッセージボックスのボタン名変更
-
powershell を使いカレントディ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
Socket通信の0バイト受信について
-
Winsockで接続待ちタイムアウト...
-
ソケットのクローズについて
-
UDP通信におけるbind関数について
-
VB6のwinsockでconnectできない
-
エクセル VBA でのCOMポート...
-
SIPがNATを越えられない理由
-
ソケットでクライアントのipア...
-
UdpClient 送信元のIPアドレ...
-
ソケット通信 同じポート番号...
-
VC++でのソケット通信について
-
TCP/IPプログラミングでのselec...
-
ソケット通信
-
ソケットのrecvの戻り値が0
-
UDP通信する時に、相手にどうや...
-
vxWorks6.4を使用してソケット...
-
SendRequestでヘッダが受信され...
-
ソケットを用いた1対多通信につ...
-
どうか、POSTでのファイル転送...
おすすめ情報