我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。

但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。

我错过了什么?


当前回答

默认localhost的更简单方法是使用http://localhost:port。这也适用于笔记本电脑和安卓系统。

如果它不工作,然后在android设置您的手机的默认IP 127.0.0.1:端口:)

打开终端并输入:-

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*

其他回答

以管理员身份运行CMD

在CMD屏幕上输入ipconfig,屏幕将显示文本

就像这张照片

您可以使用这个IP访问您的本地主机 您必须连接到与您的PC连接的相同网络

虽然有一个答案已经被接受,但这对我来说很管用:

Make sure both your computer and android device are on same network. get your computer's ip address. (in case of mac type ifconfig inside terminal and look for en0/en1 -> inet it should be something like 19*.16*.1.4.) (on windows, use `ipconfig) Open your mobile settings and go to network-> long press your wifi network-> modify network -> scroll down to advanced options -> chose proxy manual and in proxy hostname type your address i.e. 19*.16*.1.4 inside port enter your port. and save it. search for what is my ip in google chrome, and get your ip, lets say it is 1**.1**.15*.2** try accessing 1**.1**.15*.2**:port/ from your mobile device.

事情就是这么简单。

“Chrome for Android的端口转发让你更容易在手机上测试你的开发站点。它的工作原理是在移动设备上创建一个监听TCP端口,该端口映射到开发机器上的特定TCP端口。这些端口之间的流量通过USB传输,因此连接不依赖于你的网络配置。”

更多详情请访问:https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding

最后在Ubuntu中完成,我在localhost:8080上运行nodejs服务器

1)打开终端类型ifconfig 你将得到类似这样的IP: inet addr:192.168.43.17

2)现在简单地把url地址像这样: "192.168.43.17:8080"(8080端口来自本地主机端口号) 例如:“192.168.43.17:8080/fetch”

首先,让你的机器(服务器运行的地方)IP地址是静态的。在android代码中输入此静态IP地址。 接下来进入你的wifi路由器接口,检查左边的面板。您将看到端口转发/转发等选项。点击它并转发端口80。 现在编辑httpd .conf文件,并将其编辑为

所有人允许

. 重新启动服务器。现在一切都可以正常工作了。

此外,您可以保留您的机器的IP地址,以便始终分配给您。 在路由器接口的左面板中,找到DHCP -> Address Reservation,单击它。输入计算机的MAC地址和您在代码中输入的IP地址。单击保存。这将为您的机器保留给定的IP地址。