通过蓝牙服务本地网站到手机而不使用互联网

我正试图通过手机,ipad和其他无线设备上的蓝牙运行本地计算机。

我们希望能够在没有连接到互联网的情况下运行本地托管在此服务器上的网站,是否可以通过蓝牙从服务器到无线设备运行该网站。

服务器可能没有连接到互联网,所以我想知道是否可以通过手机浏览器在手机上本地运行网站,而无需将服务器连接到互联网。

我很感激任何帮助。

是的,通过某种方式,例如:

  • 向后使用蓝牙网络共享 – 即手机认为计算机是网络连接的来源。 计算机不仅运行Web服务器,还运行名称服务器(或手机具有主机文件),以便网站名称解析为蓝牙网络上计算机的IP地址。 请注意,手机可能需要管理员级别访问权限或现有function。

  • 将蓝牙更像是串行连接。 编写一个在手机上运行的服务,并通过环回网络接口接受来自手机浏览器的网络连接。 然后,它通过蓝牙串行链路将http请求发送到PC,其中类似于Web服务器的程序接受它们并通过类似串行的通道进行响应。 然后,电话上的服务通过环回网络接口将这些服务提供给浏览器。 如果您满足于http:// localhost:8080这样的URL,则不需要对设备进行管理访问,而只需要能够运行可以侦听网络套接字的后台服务。 但要摆脱:8080并在隐含的通常端口80上运行,至少在Android上你需要root访问权限。

  • 将手机的浏览器引擎包裹在一个应用程序中,该应用程序用蓝牙代替网络套接字替代类似串行的访问。 或者,在自定义浏览器应用程序内部以这种方式部署服务理念,这样您实际上不必运行后台程序包,而只需要在用户正在使用的应用程序中运行后台服务线程。

  • 购买家庭wifi路由器,不要将它的WAN端口连接到任何东西。 获得一个有足够内存来安装路由器 – Linux发行版,你甚至可以在该框上托管该网站,并让PC脱离它。 是的,这不是一个蓝牙解决方案,如果有一种可以接受的方式,只是为了简单而折腾它。

使用安装了Raspbian Linux OS的Raspberry Pi。 在Pi(Nginx)上配置您喜欢的Web服务器。 根据以下内容将Pi配置为运行hostapd的WiFi接入点: https : //learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/install-software

这将为您提供一个非常好,便宜,低功耗的小型Web服务器,它可以为您连接所有设备来广播自己的WiFi SSID。

我用它来实现你的目标。

如果您正在开发通过localhost访问的网络应用程序(即角度,快递等)并想要在您的移动设备上访问它,一种选择是反转系绳设备,以便您的平板电脑/手机通过互联网访问互联网你的电脑通过蓝牙PAN。

连接设备后,您需要在托管(蓝牙)网络上find计算机的IP地址。 要查找,请打开终端应用程序,然后键入ifconfig ,并在bridge100配置中搜索inet地址,例如在此ifconfig条目的bridge100行中:

 bridge100: flags=8863 mtu 1500 options=3 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 ifmaxaddr 0 port 15 priority 0 path cost 0 nd6 options=201 media: autoselect status: active 

一旦你在蓝牙网络上拥有你的计算机的IP地址(在这种情况下为192.168.2.1 ),打开你的移动设备的浏览器并加载http://192.168.2.1:1234/其中`1234被服务器的端口替换正在倾听(即Angular的4200等)。

AngularJS的特别说明:默认情况下, ng serve命令仅侦听“localhost:4200”,网络上的其他设备无法访问它。 对于Angular,您需要使用如下指定的主机启动服务器: ng serve -host 0.0.0.0