22

携帯電話、iPad、その他のワイヤレス デバイスで Bluetooth 経由でローカル コンピューターを実行しようとしています。

インターネットに接続せずに、このサーバーでローカルにホストされている Web サイトを実行できるようにしたいと考えています。サーバーからワイヤレス デバイスへの Bluetooth 経由でサイトを実行することは可能ですか。

サーバーがインターネットに接続されていない可能性があるため、サーバーがインターネットに接続されていなくても、携帯電話のブラウザを介して携帯電話でサイトをローカルで実行できるかどうかを知りたい.

これについて何か助けていただければ幸いです。

4

4 に答える 4

11

はい、次のような手段で:

  • Bluetoothテザリングを逆方向に使用します。つまり、電話はコンピューターがネットワーク接続のソースであると見なします。コンピューターはWebサーバーだけでなく、ネームサーバー(または電話にhostsファイルがある)も実行するため、Webサイトの名前はBluetoothネットワーク上のコンピューターのIPアドレスに解決されます。電話には、おそらく管理者レベルのアクセス、またはこれに対する既存の機能が必要になることに注意してください。

  • Bluetoothをシリアル接続のように扱います。電話で実行され、ループバックネットワークインターフェイスを介して電話のブラウザからネットワーク接続を受け入れるサービスを作成します。次に、Bluetoothシリアルリンクを介してhttp要求をPCに送信します。PCでは、Webサーバーのようなプログラムがそれらを受け入れ、シリアルのようなチャネルを介して応答します。次に、電話のサービスは、ループバックネットワークインターフェイスを介してこれらをブラウザに返します。http:// localhost:8080などのURLに満足している場合、これにはデバイスへの管理アクセスは必要ありませんが、ネットワークソケットでリッスンできるバックグラウンドサービスを実行する機能のみが必要です。しかし、:8080を取り除き、暗黙の通常のポート80で実行するには、少なくともAndroidではrootアクセスが必要になります。

  • ネットワークソケットの代わりにBluetooth経由でシリアルのようなアクセスを代用するアプリケーションで電話のブラウザエンジンをラップします。または、上記のサービスアイデアをカスタムブラウザアプリケーション内にデプロイして、実際にバックグラウンドパッケージを実行する必要はなく、ユーザーがアクティブに使用しているアプリケーション内のバックグラウンドサービススレッドのみを実行するようにします。

  • 家庭用wifiルーターを購入し、WANポートを何にも接続しないでください。router-linuxディストリビューションをインストールするのに十分なメモリを備えたものを入手してください。そうすれば、そのボックスでWebサイトをホストして、PCをそのボックスから外すことができる場合もあります。はい、これはBluetoothソリューションではありません。許容できる方法がある場合は、簡単にするためにそれを放り投げるだけです。

于 2012-05-08T16:56:09.310 に答える
5

Raspbian Linux OS がインストールされた Raspberry Pi を使用します。Pi (Nginx) でお気に入りの Web サーバーを構成します。これに従って、hostapd を実行する WiFi アクセス ポイントとして Pi を構成します。

これにより、すべてのデバイスを接続するための独自の WiFi SSID をブロードキャストする、非常に優れた、安価で低電力の小さな Web サーバーが提供されます。

私はあなたが求めているものを達成するためにこれを使用しました。

于 2014-04-29T16:00:02.123 に答える
0

localhost (angular、express など) 経由でアクセスする Web アプリを開発していて、モバイル デバイスでアクセスしたい場合、1 つのオプションはデバイスをリバース テザリングして、タブレット/電話が 経由でインターネットにアクセスできるようにすることです。 Bluetooth PAN 経由でコンピューターに接続します。

デバイスが接続されたら、ホストされた (Bluetooth) ネットワーク上でコンピュータの IP アドレスを見つける必要があります。これを見つけるには、ターミナル アプリを開き、と入力して、 config内のアドレス ifconfigを検索します (例: このエントリの 4 行目)。inetbridge100ifconfig

bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=3<RXCSUM,TXCSUM>
    ether f6:0f:24:22:ea:64
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    inet6 fe80::f04f:2f4f:ef22:ae64%bridge100 prefixlen 64 scopeid 0x10
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x2
    member: en6 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 15 priority 0 path cost 0
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active

Bluetooth ネットワーク (192.168.2.1この場合) でコンピューターの IP アドレスを取得したら、モバイル デバイスのブラウザーを開き、http://192.168.2.1:1234/'1234 がサーバーがリッスンしているポートに置き換えられている場所を読み込みます (つまり、Angular の場合は 4200 など)。

AngularJS に関する特記事項: デフォルトでは、ng serveコマンドは「localhost:4200」のみをリッスンし、ネットワーク上の他のデバイスからはアクセスできません。Angular の場合、次のようにホストを指定してサーバーを起動する必要があります。ng serve -host 0.0.0.0

于 2017-03-25T22:36:35.897 に答える