4

利用可能なWiFiIP(つまり、192.xxx.xx、post 8080を使用)を使用して、Androidデバイスにファイルを転送できるように接続およびデスクトップからアクセスできるhttpサーバーをAndroidで作成したいと思います。

更新:現在NanoHTTPDを試していますが、サンプルのHelloWorldをAndroidデバイスで実行できないようです。

hello worldコードを変更し、代わりにアクティビティを拡張して、オブジェクトnanohttpdを作成しました。

使用するポートを指定するように変更しましたが、さらにデバッグすると、サーバーソケットにgetInetAddressがまったくないことがわかりました。NanoHTTPDはもう設定する必要がないと思いました...?

4

2 に答える 2

3

へー、結局のところ、NanoHTTPD はトリックを行いますが、いくつかの調整を行いました...

  1. デバイスが接続されているかどうかを確認します。

    wifiwifi ネットワーク管理の管理のサンプルを使用して、利用可能なすべての WiFi を検出し、ScanResults のリストを返し、ScanResult を接続し、IP アドレスをフェッチする WiFi Manager を作成しました。

  2. NanoHttpd をシングルトン インスタンスを持つクラスとして作成しました。

    接続された WiFi Manager の ScanResult からIP アドレスを取得し、それとポート番号を nanohttpd インスタンスに渡しました。

    NanoHttpd nanoInstance = new Nanohttpd(); 文字列[] args = null; args[0] = IP アドレス。引数1 = 8080; // または 8081.. など nanoInstance.main(args);

  3. その後、ようやく回答ページにたどり着きました。=]

于 2011-07-20T05:52:03.977 に答える
0

組み込み可能な http サーバーを使用します: http://tjws.sourceforge.net/

注: ほとんどのモバイル デバイスはNATの背後にあり (Wifi とセル ネットワークの両方で)、インバウンド接続が不可能です。これは、インターネットからそれらへの接続を開始できないことを意味します。

于 2011-07-19T09:39:37.517 に答える