네오스로 다른 프로그램에 접근하기

From Neos Wiki
Jump to navigation Jump to search
This page is a translated version of the page Connecting Neos to Other Applications and the translation is 100% complete.
Other languages:
English • ‎日本語 • ‎한국어

네오스에서 월드 또는 아이템을 제작할때 네오스가 아닌 외부의 다른 시스템, 소프트웨어등과 연계하고 싶을 수 있습니다. 여기서는 이런 외부와의 연계를 위해 사용 가능한 정보를 안내해 드립니다.

예제

아래는 몇가지 사용 사례입니다.

  • 웹서버와의 통신
  • 실세계에 존재하는 심박센서, 조명 및 음향내장장치 등과 연계
  • 주식이나 기상정보를 수신받기

방법

기타 응용 기술과의 통신시 주의해야 할 점이 있습니다. 네오스는 JSON 형식과 컬렉션/배열형 데이터의 핸들링을 지원하지 않습니다. 필요한 경우 LogiX등을 통해 직접 처리해야함을 상기해 주세요.

HTTP를 통한 웹서버와의 통신

네오스는 HTTP 요청처리를 위한 2개의 노드를 제공합니다.

  • HTTP GET - HTTP GET 방식으로 요청합니다.
  • HTTP POST - HTTP POST 방식으로 요청합니다.

HTTP가 지원되는 웹서버나 이를 응용한 API가 있다면, 이 방식으로 사용하시면 됩니다.

웹 소켓 통신

네오스는 웹소켓 기능을 가지고 있습니다. 이를 통해 웹소켓을 지원하는 서버와 통신이 가능합니다. 웹 소켓은 네오스와 응용기능간의 실시간 통신을 지원합니다.

다른 프로토콜을 웹소켓에 실어 보내기

네오스는 HTTP 또는 웹소켓만 지원하나, 이를 통해 다른 프로토콜로 데이터를 전송할 수 있습니다. 아래 형식은 실제 이런 방식으로 사용된 것입니다.

  • DMX
  • MIDI
  • OSC

웹 소켓과 HTTP 프록시 사용하기

또는, 웹 소켓 또는 HTTP 프록시를 이용해 다른 장치와 통신할 수 있습니다. 이를 위해 다음과 같은 준비가 필요합니다.

  • 심박센서
  • 달력
  • 간단한 구조를 가진 API

플러그인 사용

네오스는 사용자가 직접 커스텀한 C#으로 작성된 라이브러리(DLL)를 링크하여 쓸 수 있도록 하는 플러그인 기능을 가지고 있습니다. 단, 커스텀 라이브러리를 이용하여 실행하는 경우 버전이 다르게 동작하기에 동일한 DLL을 가지고 있는 사용자만 접촉할 수 있게 됩니다. 좀 더 자세한 정보는 플러그인 문서를 확인하여 주세요.

보안 주의 사항

항상 보안적 측면을 주의하세요. 외부 시스템과의 연계는 항상 보안이슈를 동반합니다. 지불 관련 정보나 암호, 개인정보 같은것이 전송되지는 않은지 항상 경계하세요.

부가적으로, HTTP나 웹소켓을 이용하여 타 시스템과 연계는 사용자의 동의하에 진행되며 특정 도메인이나 서버에 대한 차단 또는 수락을 처리할 수 있습니다. 를 요구합니다. Is Host Access Allowed Request Host Access 노드를 이용하여 사용자가 연결을 차단했는지를 확인하고, 연결이 필요한 경우 그 이유를 잘 설명하세요.

사용자가 차단을 선택한 경우, 어떤 문제가 발생할지 또는 어떠한 영향이 생기는지를 명료하게 안내하고 정상적인 실패 처리가 진행되도록 구성해 두시기 바랍니다.

권장 사항

관련 기능을 만들때 고려해야 할 사항이 있습니다.

  • 웹소켓(WebSocket)은 실시간 통신이 필요한 경우에만 사용하세요. 웹소켓은 서버와 네오스 사용자 모두에게 부가적인 통신비용을 발생시킵니다. 실시간 처리가 불필요한 경우 HTTP를 고려해 보세요.
  • 요청과 연결작업이 올바른 사용자에게서 발생하는지 확인하세요. 이 사례는 여러명의 사용자가 함께 있을때, 한 사람이 통신 요청을 했는데 여러명이 동시에 요청하는 것 처럼 동작하는 경우를 말합니다.