苹果手机运行python_iPhone手机上搭建nodejs服务器步骤方法

一、为在ios上面运行,编译jxcore

$ mkdir ~/jxcore

$ cd ~/jxcore

$ git clone https://github.com/jxcore/jxcore.git

$ cd ~/jxcore/jxcore

$ ./build_scripts/ios-compile.sh

如果出现import which的module not found问题, 那就通过下面语句安装python的which

sudo easy_install tools/which-1.1.0-py2.7.egg

如果出现别的问题,可以参看jxcore编译ios的前提条件,采取相应措施。

https://github.com/jxcore/jxcore/blob/master/doc/HOW_TO_COMPILE.md

* GCC 4.2 or newer (for SpiderMonkey builds 4.7+)

* Python 2.6 or 2.7

* GNU Make 3.81 or newer

* libexecinfo (FreeBSD and OpenBSD only)

* for SpiderMonkey : 'which' python module (sudo easy_install tools/which-1.1.0-py2.7.egg)

二、 在mac上安装jxcore

$ ./configure

$ sudo make install

三、 创建cordova程序,如果没有安装cordova,可以自行安装。

$ cordova create hello com.example.hello HelloWorld

$ cd hello

四、下载安装jxcore-cordova插件

$ git clone https://github.com/jxcore/jxcore-cordova

利用jxcore-cordova的模板index.html

$ cp ./jxcore-cordova/sample/www/index.html ./www/

拷贝在第一步为在ios上运行而编译的jxcore包

$ cp -r ~/jxcore/jxcore/out_ios/ios/bin jxcore-cordova/io.jxcore.node/

五、添加cordova的ios platform

$ cordova platforms add ios

$ cordova plugin add jxcore-cordova/io.jxcore.node/

$ cordova build

$ cordova run ios

如果build出错,"C does not support default arguments"

只需将默认值去掉一般就会解决问题。

JXCORE_EXTERN(void)

JX_SetString(JXValue *value, const char *val, const int32_t length = 0);

修改为

JXCORE_EXTERN(void)

JX_SetString(JXValue *value, const char *val, const int32_t length);

重新build即可

六、此时应该可以看到cordova的运行界面。

七、在Resources/jxcore_app/app.js添加nodejs server

在app.js的最后面添加如下代码

function getIP() {

var os = require('os');

var nets = os.networkInterfaces();

console.log(nets);

for ( var a in nets) {

var ifaces = nets[a];

for ( var o in ifaces) {

if (ifaces[o].family == "IPv4" && !ifaces[o].internal) { return ifaces[o].address; }

}

}

return null;

}

var ip = getIP();

if (!ip) {

console.error("You should connect to a network!");

return;

}

var http = require('http');

http.createServer(function(req, res) {

res.writeHead(200, {

'Content-Type': 'text/plain'

});

var cur_client = "";

if(req.connection && req.connection.remoteAddress) {

console.log(req.connection.remoteAddress);

cur_client = req.connection.remoteAddress;

} else if(req.headers) {

console.log("request header X-Forwarded-For");

console.log(req.headers['X-Forwarded-For']);

cur_client = req.headers['X-Forwarded-For'];

}

cordova('log').call('client( ' + cur_client + ' ) come');

res.end('Hello '+ cur_client +', I am server on iphone app('+ ip +'). '+Date.now()+'\n');

}).listen(1337, ip);

console.log('Server running at http://' + ip + ':1337/');

运行程序,即可在xcode的log信息里面看到iphone的ip,然后通过网页就可以浏览网页。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以用于搭建Web服务器。首先,你需要安装Node.js和npm(Node包管理器)。然后,你可以按照以下步骤搭建一个简单的Node.js Web服务器: 1. 创建一个新的项目文件夹,并在该文件夹中初始化一个新的Node.js项目。可以使用以下命令:`npm init`。这将创建一个package.json文件,其中包含了你的项目的相关信息。 2. 在项目文件夹中创建一个名为`service.js`的文件,该文件将作为你的服务器代码的入口文件。 3. 在`service.js`文件中引入所需的模块,例如`express`和`mongoose`。你可以使用`require`语句来引入模块,如下所示: ``` const express = require("express"); const mongoose = require("mongoose"); ``` 4. 设置连接到数据库的配置。你可以在`service.js`文件中引入数据库配置,并通过使用`mongoose.connect()`方法来连接到数据库: ``` const db = require("./config/keys").mongoURL; mongoose.connect(db, { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log("连接成功")) .catch(err => console.log("连接错误")); ``` 5. 创建一个Express应用程序实例,并将其分配给一个变量,例如`app`: ``` const app = express();``` 6. 定义路由。你可以使用`app.get()`或`app.post()`等方法来定义不同的路由和请求处理程序。例如,以下代码定义了一个根路由,当用户访问根路径时,发送"hello world"响应: ``` app.get("/", (req, res) => { res.send("hello world"); }); ``` 7. 使用路由。你可以将路由模块导入并在应用程序中使用它们。例如,以下代码将在`/api/users`路径下使用`users`路由模块: ``` const users = require("./routes/api/users"); app.use("/api/users", users); ``` 8. 启动服务器并监听指定的端口。你可以使用`app.listen()`方法指定要监听的端口,并在服务器启动时执行一些操作。例如,以下代码将服务器监听在5000端口,并在服务器启动时打印一条消息: ``` const port = process.env.PORT || 5000; app.listen(port, () => { console.log(`服务运行在端口 ${port}`); }); ``` 现在,你可以在终端中运行`node service.js`命令来启动你的Node.js服务器。通过访问`http://127.0.0.1:5000/`,你应该能够看到"hello world"的响应。 另外,如果你想在代码更改时自动重启服务器,你可以安装`nodemon`模块,并将其作为开发依赖项添加到`package.json`文件中。然后,你可以使用`nodemon service.js`命令来启动服务器,这样在你修改代码后不需要手动重启服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值