>웹 프론트엔드 >JS 튜토리얼 >iPhone_node.js에 nodejs 서버를 구축하는 단계 및 방법

iPhone_node.js에 nodejs 서버를 구축하는 단계 및 방법

WBOY
WBOY원래의
2016-05-16 15:51:203385검색

1. iOS에서 실행하려면 jxcore를 컴파일하세요

코드 복사 코드는 다음과 같습니다.

$ mkdir ~/jxcore
$ cd ~/jxcore
$ git 클론 https://github.com/jxcore/jxcore.git


코드 복사 코드는 다음과 같습니다.

$ cd ~/jxcore/jxcore
$ ./build_scripts/ios-compile.sh

import which module에 문제가 있는 경우 다음 명령문을 통해 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 이상(SpiderMonkey 빌드 4.7의 경우)
* 파이썬 2.6 또는 2.7
* GNU Make 3.81 이상
* libexecinfo(FreeBSD 및 OpenBSD에만 해당)
* SpiderMonkey의 경우: 'which' Python 모듈(sudo easy_install tools/which-1.1.0-py2.7.egg)

2. Mac에 jxcore 설치

코드 복사 코드는 다음과 같습니다.

$ ./구성
$ sudo make install

3. cordova 프로그램을 생성합니다. cordova가 설치되어 있지 않으면 직접 설치할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

$ cordova는 hello com.example.hello HelloWorld를 생성합니다
$ cd 안녕하세요

4. 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/

5. Cordova iOS 플랫폼 추가
코드 복사 코드는 다음과 같습니다.

$ 코르도바 플랫폼에 iOS 추가
$ cordova 플러그인 추가 jxcore-cordova/io.jxcore.node/
$ 코르도바 빌드
$ 코르도바 실행 iOS

빌드 오류가 발생하면 "C는 기본 인수를 지원하지 않습니다."

일반적으로 기본값을 제거하면 문제가 해결됩니다.

할 것이다

코드 복사 코드는 다음과 같습니다.

JXCORE_EXTERN(무효)
JX_SetString(JXValue *value, const char *val, const int32_t 길이 = 0);

으로 수정
코드 복사 코드는 다음과 같습니다.

JXCORE_EXTERN(무효)
JX_SetString(JXValue *value, const char *val, const int32_t length)

그냥 다시 빌드하세요

6. 이때 Cordova 실행 인터페이스를 볼 수 있습니다.
7. Resources/jxcore_app/app.js에 nodejs 서버를 추가하세요

app.js 끝에 다음 코드를 추가하세요

코드 복사 코드는 다음과 같습니다.

함수 getIP() {
        var os = require('os');
      var nets = os.networkInterfaces()
console.log(네트)
for ( nets의 var a) {
              var ifaces = nets[a]
for (var o in ifaces) {
If (ifaces[o].family == "IPv4" && !ifaces[o].internal) { return ifaces[o].address }
~        ~          null 반환;                               }
var ip = getIP()
if (!ip) {
console.error("네트워크에 연결해야 합니다!")
반품
}

var http = require('http')
http.createServer(function(req, res) {
          res.writeHead(200, {                                   '콘텐츠 유형': '텍스트/일반'
         });
      var cur_client = "";
If(req.connection && req.connection.remoteAddress) {
console.log(req.connection.remoteAddress)
~ >             } else if(req.headers) { 
console.log("요청 헤더 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('안녕하세요 ' cur_client ', 저는 아이폰 앱의 서버입니다(' ip '). ' Date.now() 'n'); }).listen(1337, ip)
console.log('http://'ip ':1337/'에서 실행 중인 서버


프로그램을 실행하면 xcode 로그 정보에서 아이폰의 IP를 확인할 수 있으며, 이후 웹페이지를 통해 웹서핑을 할 수 있습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.