Android搭載端末の内蔵Wi-Fiホットスポットを使用してローカルネットワーク接続を開始します。 これを達成する方法はありますか? 2台のデバイス間の通信方法は?AndroidでWi-Fiホットスポット経由でプログラムによるローカルネットワーク接続を開始するにはどうすればよいですか?
編集: 私はそれをプログラム的にやりたいです。それで私は自分のデータをデバイス間で転送することができます。
Android搭載端末の内蔵Wi-Fiホットスポットを使用してローカルネットワーク接続を開始します。 これを達成する方法はありますか? 2台のデバイス間の通信方法は?AndroidでWi-Fiホットスポット経由でプログラムによるローカルネットワーク接続を開始するにはどうすればよいですか?
編集: 私はそれをプログラム的にやりたいです。それで私は自分のデータをデバイス間で転送することができます。
私はこの前にこれをしていないので、私の答えはすべて理論的です。
あなたがしなければならないことは、1台のデバイスにサーバーを宣言し、既知の名前でホットスポットを手動で開始することだと思います。
Start/stop built-in Wi-Fi/USB tethering from code?(この質問によれば、プログラムでホットスポットを開始することはできません)。
ホットスポットを設定したら、サーバーアプリケーションを起動して着信接続を待ちます。サーバーアプリケーションはあなたにIPアドレスまたはホスト名を表示することができます。
クライアントでは、簡単なチェックを行い、ホットスポット名が表示されているかどうかを確認して、ホットスポット名が見つかった場合は自動的に接続します。ネットワークに接続するため、このリンクを参照してください:
Using WifiManager to connect to a network
どのように通信するために、あなたの2番目の質問、について - あなたは、デバイス間の接続を確立する必要があります。このためには、サーバーのIPアドレスが必要です。一番簡単な方法は、サーバーのUIにIPアドレスを表示し、それを手動でクライアントに入力して[接続]を押すことです。その後、既知のポート上のサーバーへの接続を確立し、クライアントとサーバー間でメッセージを送信できます。
参考のために、私はNanoHttpdを見つけました。これはAndroid用のウェブサーバーです。着信接続を待機するにはServerSocketを使用します。
実際に誰かがこれを実装しています、特にソケット部分との通信。 – hrishikesh
これを実装している場合は、ここにコードを投稿できますか? –
可能な答え:ICS前
と非根ざしたデバイス
あなたはWiFi経由でデバイスに接続することができる方法はありません。 APIはありません。 Bluetoothがあなたの最善の選択肢またはユーザーのやりとりです。 ICSと根ざしたデバイス
前
私は、誰かがコードをハッキングかどうかわからないが、私は私が気づいた無線LANスポットへの自動接続を行うことをしようとしたとき:
使用ICS ICSで
Wi-Fi Directと呼ばれる無線LAN経由のデバイスを接続するための新しい方法があります。 ここにlinkのデモがあります。
多分私はあなたを誤解しているかもしれませんが、API v1以降、[WifiManager](http://developer.android.com/reference/android/net/wifi/WifiManager.html)の周りには、ネットワークの設定やエスカリングが含まれています接続。同じネットワーク上にいて、同じネットワーク上で互いに接続できないということを意味するならば、ServerSocketを使用する[NanoHttpd](http://elonen.iki.fi/code/nanohttpd/)を見てください着信接続を待ち受けるためのものです。 – brianestey
個々の端末(デバイス)ごとに独自のアプリケーションを開発しようとしている場合は、ソケットプログラミングがそのトリックを行うと思います。
はい、アンドロイドはソケットプログラミングをJavaソケットプログラミングと同じようにサポートしています。
最初のGoogle Javaソケットプログラミングチュートリアルでは、アンドロイドで同じ知識を使用することができます。
はまた、あなたがP2Pのような任意のサーバーなしの無線LAN対応デバイス間の通信を意味:)
実際に長い時間のための私の脳を食べた何かのthats、マニフェストに使用のインターネット権限を含めるように覚えていますか? ICSでサポートされているWi-Fiダイレクトはこれをチェックしてくださいhttp://developer.android.com/reference/android/net/wifi/p2p/package-summary.html
ICSの前には、Wi-Fiダイレクト用の標準アンドロイドAPIはありませんが、Galaxy S2はWi-Fiダイレクトを持っていますが、サードパーティの開発者が使用できない独自のAPIを使用しています。
私はクライアント - サーバー構造でそれをやりたいです。 – shiami
私いけないprogrammically LAN wify作成していますが、brianestey
で言ったように、あなたはあなたの2番目の質問、どのように通信するためのように、」JavaのTCP/UDPプログラムを行うことができ、手動でLAN wify作成することができます知っている - あなたが必要最も簡単なことは、サーバのUIにIPアドレスを表示してから、手動でクライアントに入力してconnectを押すことです。既知のポート上のサーバーへの接続を確立し、クライアントとサーバーの間でメッセージを送信することができます。
手動接続のための電話
新しいホットスポットを作成するのいずれか1つから、手順
テイクの設定/ワイヤレス&ネットワーク/ポータブルWi-Fiアクセスポイントの設定に従うようにとのWi-Fiをオンにしますそこから携帯ホットスポット
あなたのPCを含むそのホットスポットに他のすべてのデバイスを接続してください
あなたは(PCをincludigが、私は知らない)programmically各デバイスのIPアドレスを取得します
あなたの質問を明確にすることができます。あなたは何に接続したいのですか?あなたは、デバイス(PCのような)をあなたの携帯電話のWiFiホットスポット(つまりテザリング)に自動的に接続したいと言っているのですか? – brianestey
複数のAndroidデバイス間で通信できるアプリを作成したいと思います。 (Wi-Fiホットスポットには最大5人のクライアントが存在するため、最大6台のデバイスがあると思います)。たとえば、ローカルサブネットのチャットルームです。 – shiami
これはサーバーとネットワーク内の5つのクライアントになります。そして、サーバ - クライアント構造のように通信することができます。 – shiami