从外部访问localhost

时间:2016-02-26 11:19:02

标签: android node.js

我找了一些在我的Android设备上运行node.js服务器的方法。我发现了一些描述它的好文章:https://medium.freecodecamp.com/building-a-node-js-application-on-android-part-1-termux-vim-and-node-js-dfa90c28958f#.xrh3v0du1。我已经按照教程在我的设备上安装了linux vm并安装了node.js.我成功运行了我的node.js脚本并从android浏览器访问它。但是我找不到任何方法可以通过ip地址在我的Android设备之外打开这个页面。

2 个答案:

答案 0 :(得分:3)

如果您的TelCo允许,您可以按照以下步骤访问运行您的Node的localhost android。 注意:仅当您的手机使用手机数据计划(2-3-4-5 ... G数据)连接时才有效,时使用Wi-Fi连接。需要说明的是:如果此移动设备使用Wi-Fi数据,则您的移动设备上的应用仅通过以下方式提供内容。

1 - 在动态DNS提供商网站中设置帐户(总是支付好计划)。在那里,您将配置一个类似http://muhlinin.mydyndns.com的URL,它将指向一个动态IP号码;

2 - 将相应的动态DNS应用程序安装到您的手机中,此应用会将您当前的IP号码转发到您的动态DNS帐户,以确保每次http://muhlinin.mydyndns.com的请求始终会找到您的手机以响应该请求,无论您的手机在请求时具有什么IP;

3 - 在您的Android上,运行(例如)Termux和Node,使您的 .js服务器脚本监听非默认端口(因为默认值为80,可能会被您的TelCo关闭),例如,8000,在动态网址上你得到了跟随1和2显示在上面。这样的事情:http://muhlinin.mydyndns.com:8000

当然,如果您的手机已关闭,或相应的dyn dns应用已关闭或未启动,或您的节点服务器已关闭或未启动,则每次调用http://muhlinin.mydyndns.com:8000都将导致错误。因此,为了使一切正常,您必须正确完成前面的3个步骤  全部在您的移动服务器上打开并启动:

1 - dyn dns app;

2 - Node.js运行时;

3 - 您的serverscript.js(您将首先在Termux上执行一个简单的'node serverscript.js'。

答案 1 :(得分:1)

尝试在终端中运行ifconfig并查看wlan0字段的inet addr:条目,以便在wifi上找到您的IP。