2012-03-16 6 views
0

nodeJS가 설치된 웹 서버에서 실행중인 프로젝트 (adobe AIR 3.1 - 변형되지 않음)가 있습니다. 내가 AIR 응용 프로그램에서 NodeJS 자바 스크립트 파일을 호출하는 가능성을 찾고 있어요. AIR 응용 프로그램이 NodeJS에서 socket.io를 호출하여 html에 연결된 클라이언트에게 정보를 전달합니다. 가능한가?Adobe AIR에서 nodeJS javascript 파일을 호출 할 수 있습니까?

답변

1

이것은 소켓 io가 사용하는 기본 프로토콜에서 가능합니다.

  1. 사용 ExternalInterface를 실제로 socket.io 클라이언트 라이브러리 (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/을 활용 : 나는 당신이이 일에 대해 갈 수있는 몇 가지 방법이 있다고 생각 3/flash/external/ExternalInterface.html)
  2. socket.io에서 Adobe Flash Socket, 긴 폴링 또는 jsonp 폴링 (http : // socket)과 동일한 방식으로 node.js 응용 프로그램에 정보를 보냅니다. io/# browser-support)
  3. shim을 작성하고 원시 프로세스 (http://www.adobe.com/devnet/air/flex/quickstart/articles/interacting_with_native_process.html)를 통해 스트림을 시작하십시오. 이 방법으로 node.js 응용 프로그램을 시작할 수도 있습니다.

기술적으로는 가능하지만 Adobe AIR는 서버 측에서 자주 사용되지 않는다고 생각합니다. 거기에서 당신은 단지 node.js를 사용하지 못하게하는 데이터가 있습니까?

명확하게 말하면 socket.io는 좋지만 양방향 통신이 필요한 경우에만 완전히 활용됩니다. AIR 응용 프로그램에서 node.js 응용 프로그램으로 만 데이터를 보내는 경우 REST/SOAP 등과 같은 HTTP 서비스를 통해 데이터를 전송하는 등 여러 가지 옵션이 있습니다.

+0

아주 간단하게 시도했습니다. 아직 작동하지 않는 이유는 모르겠다. javascript로 nodejs를 호출하는 PHP 페이지를 작성한 후 POST에서 PHP 페이지를 AIR에서 호출합니다. 내 브라우저에서 해당 페이지를 호출하면 작동하지만 어떤 이유로 AIR 응용 프로그램에서 작동하지 않습니다. 제안을 주셔서 고마워, 난 그것을 간단하게 유지하려고 노력합니다 ... – Eric

+0

내 질문은 지금, 내가 자바 스크립트를 실행하는 POST에서 AS3/AIR PHP 페이지에서 호출 할 수 있습니까? JS가 실행되지 않는 것 같습니다 ... – Eric

+0

소프트웨어 스택이 큰 복잡한 것처럼 보입니다. 만약 내가 올바르게 이해한다면 PHP 페이지에 POST 요청을 만들어서 javasript를 반환하는데, 그 자체가 다른 프로토콜을 사용하여 노드 js 응용 프로그램과 통신합니다. 자바 스크립트가 사용하는 것과 동일한 프로토콜을 사용하여 AS3을 노드 js 응용 프로그램에 직접 대화 할 수 있습니다. 하지만 불편할 수도 있습니다 (예를 들어, 아마도 socket.io ...와 같은 복잡한 자바 스크립트 라이브러리를 사용하고 있고 as3에 이식하는 것을 의미합니다). – badunk

관련 문제