• 締切済み

Androidのデバイス間通信のプログラミングは?

現在、Androidプログラミングを勉強しています。 Androidのデバイス同士で定期的な通信を行いデータを送受信したいのですが どのような技術を使えば実装できますか? アプリは、遠距離を想定しています。 また、 ・Aがサーバにデータを送信 ・Bがサーバからデータを受信 などサーバを介さずに、送受信することは可能ですか?

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

noname#177743
noname#177743
回答No.1

そうですね、「サービス」と「ソケット(またはHttpURLConnection)」について調べてみてはと思います。 サービスはAndroidのバックグラウンド処理を行うための機能で、多くのアプリではこれを使って定期的に処理を実行させたりしています。またソケット(またはHttpURLConnection)はサーバーとの通信を行うためのものです。これらを組み合わせ、バックグラウンドで定期的にサーバーにアクセスすれば可能だろうと思います。 >サーバを介さずに、送受信することは可能ですか? つまり、端末から端末へダイレクトに通信するということですか? 至近距離であればBluetoothなどの方法は考えられますが、遠距離となると難しいのでは……。

dai2botan
質問者

お礼

ご指導ありがとうございます。 ソケットについて勉強してみます

関連するQ&A

  • Cでネットワークプログラミングをするには?

    C++とwin32APIを勉強中の者です。 早速質問なのですが、C言語でネットワークプログラミングを行うにはどうしたらいいのでしょうか? 通信にも色々あるのでしょうが、例えばサーバーに接続したりだとか、PC同士で通信(遠距離や近距離)を行ったりだとかするソフトはどのように実装されているのでしょうか。場合によっては自分でサーバーを開設しなければならないといったこともあるんですかね? というのも将来作りたいと思っているソフトがあって、そのソフトがサーバーから情報を取得したりPC同士での通信(電話みたいなことをしたい)を行うようなプログラムなのですが、通信についてはまったくの素人で、何から勉強したらいいのか分からない状態です。 主な通信にはこんな技術が使われていて、それをプログラムで使うにはこんな知識が必要、みたいなことを教えていただけたら幸いです。 回答よろしくお願いします。

  • Androidの通信

    Androidの通信速度が異様に遅いんです。 機種はドコモのoptimus itのL-05Dです 細かく言うと電波はLTEでアンテナもなっています。 メールTwitter、LINEなどの送信は普今まで通り通です。 しかし、インターネットにつないだり、プリ画像のアプリによる観覧などといった一部の通信になると異様に遅くなるんです。 モバイルデータの通信料のせいかと思い、データ使用期間を変更しました。 それでも治りません。 なぜかわかる人いませんか?

  • LINEアプリ等の通信・情報取得方法

    教えてください。 当方ソフトウェア開発者です。 iphone等で、メッセージを送受信する LINE の様なアプリは 発信元携帯 (メッセージ送信) ⇒ サーバー(受信・DB書込) の後 送信先携帯がメッセージを受信する訳ですが、受信の方法として サーバー側が送信先に向けて情報を送っているのか? 送信先(受信側)携帯が定期的にサーバーに情報を「受信・参照」しているのか? どちらなのでしょうか?  

  • Android製品のデバイスドライバ

    業務でAndroid製品を開発している方に質問です。 (自分は組み込み系のソフト開発(C言語)をかじり中です) Android製品にBluetoothチップを載せる際、 デバイスドライバは、どのように開発してますか? (1)Bluetoothのチップベンダの独自通信仕様に基づいて別途APIを開発しているのでしょうか? それとも (2)Androidのソース自体(ライブラリやLinuxカーネル?)をチップベンダの通信仕様に合うよう修正しているのでしょうか? (1)だと、Androidのソースを読み解く必要がないので楽だと思うのですが Android APIが使えない欠点があると思ってます。 (2)だと、アプリケーション層の開発者がAndroidの標準仕様で開発できますが Linuxカーネル層やライブラリ層を解読する必要があるし ライセンスも気にしないといけないためカナリ大変なのでは?と想像しています。 想定してる製品は、スマフォやタブレットではないので Androidアプリが起動できなくてもいいのですが(そもそもAndroidでなくてもいい) 将来性を考えて(2)を選択しつつも、負担を軽減できる良い方法をご存じないでしょうか? チップベンダがAndroid用(Linux)のデバイスドイラバを提供していれば話は簡単ですが(笑)

  • androidのPUSH通信

    お世話になります。 現在androidのPUSH通信の設計をしているのですが、C2DMが一般的な方法と見受けられます。しかし、C2DMはグーグルのアカウントをもっているユーザーしか利用できないので、今回のアプリに実装が出来かねる状態です。 最近流行しているLINEのような、グーグルアカウントもっていなくてもPUSH通信ができるような仕組みはないものなのでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • ゲームを起動せずゲームサーバーと直接通信したい

    オンラインゲームを起動せずゲームサーバーと直接通信したいです。 ゲームのログインボーナスを受け取るなどが目的です。 データを送信したり受信したりしたいです。 便利なツールなどないでしょうか。 また、おすすめのプログラミング言語があれば教えていただきたいです。

  • Android、iOSアプリのサーバ連携について

    サーバと連携するスマートフォンアプリを作成したいと思っています。 スマートフォン側で実行した結果をサーバにアップロードすることを想定しています。 しかし、単純に実装するとクエリを解析され、スマートフォン以外からのアクセスによりサーバにデータがアップロードされてしまうと危惧しております。 秘密鍵をサーバとアプリで共有して通信しても、アプリをリバース・エンジニアリングされれば無意味と思いますし、一昔前ならIP制限してキャリアからの通信以外を制限すればよかったでしょうが、今だとテザリング等でそれも無意味かと思います。 もし何らかの良い方法があればご教授願いたく、よろしくお願い致します。

  • 通信系プログラムについて

    通信のプログラムを組んでいます。tera termでサーバ上で作業を行っています。送信プログラム、受信プログラム、制御プログラム、データ書き込みプログラムと四つのプログラムを同時に実行させるのですが、送受信するデータ量が大きいと、受信プログラムやデータ書き込みプログラムにバス・エラーcore dumpedと表示されます。プログラム中の動的メモリ管理はしっかりやっているつもりですが、考えられる原因はなんでしょうか?一つのサーバで全部のプログラムを動かしているのがまずいんでしょうか?

  • JavaからC構造体にパケット通信する方法

    ネットワークプログラミングの初心者です。 現行のシステムがC言語で実装されているUDP送受信アプリに対して、 この度、Javaクライアントでも連携をおこなうことになりました。 しかし、現行のシステムはクライアントとサーバ間でC構造体をUDPにて送受信しています。 JavaでC構造体と同様のデータを作成しUDP送信、またサーバからUDP受信したデータをJavaで使用できる型変換する方法はありますでしょうか。 JNIやJNAを使用しない方法で、ご教授いただけますでしょうか。 以下にC構造体の例を記載いたします。 typedef struct udp_data { long b_type; long a_type; char userid[128]; char passward[128]; } UDP_DATA;

    • ベストアンサー
    • Java
  • アプリ再起動せずにデバイスリセットして通信する方法

    USB開発初心者です。 PCアプリからUSB通信でデバイス機器をリセットさせ(何かメッセージを送って、デバイス側がそのメッセージを受信するとリセットする)、 デバイスリセット後にアプリを再起動せずにUSB通信を再開させる方法はあるのでしょうか? 現状、デバイスがリセットし、エニュメレーションを行ってPCに認識させた後は、 アプリとデバイスでUSB通信が上手く出来なくなってしまいます。 デバイスリセット後にアプリを再起動させると問題無く通信出来る様です。 何か方法等あれば教えて下さい。 よろしくお願いします。 ※情報が足りない場合等ご指摘頂ければ助かります。