Steps and methods to build nodejs server on iPhone_node.js
May 16, 2016 pm 03:51 PM1. To run on ios, compile jxcore
$ mkdir ~/jxcore
$ cd ~/jxcore
$ git clone https://github.com/jxcore/jxcore.git
$ cd ~/jxcore/jxcore
$ ./build_scripts/ios-compile.sh
If there is a problem with import which module not found, then install python which
through the following statementsudo easy_install tools/which-1.1.0-py2.7.egg
If other problems occur, you can refer to the prerequisites for compiling ios with jxcore and take corresponding measures.
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)
2. Install jxcore on mac
$ ./configure
$ sudo make install
3. Create the cordova program. If cordova is not installed, you can install it yourself.
$ cordova create hello com.example.hello HelloWorld
$ cd hello
4. Download and install the jxcore-cordova plug-in
$ git clone https://github.com/jxcore/jxcore-cordova
Using jxcore-cordova’s template index.html
$ cp ./jxcore-cordova/sample/www/index.html ./www/
Copy the jxcore package compiled for running on ios in the first step
$ cp -r ~/jxcore/jxcore/out_ios/ios/bin jxcore-cordova/io.jxcore.node/
5. Add cordova’s ios platform
$ cordova platforms add ios
$ cordova plugin add jxcore-cordova/io.jxcore.node/
$ cordova build
$ cordova run ios
If the build error occurs, "C does not support default arguments"
Just removing the default value will usually solve the problem.
will
JXCORE_EXTERN(void)
JX_SetString(JXValue *value, const char *val, const int32_t length = 0);
Modify to
JXCORE_EXTERN(void)
JX_SetString(JXValue *value, const char *val, const int32_t length);
Just rebuild
6. You should be able to see the cordova running interface at this time.
7. Add nodejs server in Resources/jxcore_app/app.js
Add the following code at the end of 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/');
Run the program, you can see the iPhone's IP in the xcode log information, and then you can browse the web through the web page.

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

iPhone 16 Pro and iPhone 16 Pro Max official with new cameras, A18 Pro SoC and larger screens

iPhone parts Activation Lock spotted in iOS 18 RC — may be Apple\'s latest blow to right to repair sold under the guise of user protection

iPhone parts Activation Lock may be Apple\'s latest blow to right to repair sold under the guise of user protection

Binance binance official website latest version login portal

Gate.io trading platform official app download and installation address

LCD iPhone becomes history! Apple will be completely abandoned: the end of an era

How to install and register an app for buying virtual coins?

Anbi app official download v2.96.2 latest version installation Anbi official Android version
