본문으로 건너뛰기

Browser IO Client

IOSignal은 웹브라우저용 클라이언트 라이브러리를 제공합니다. 라이브러리 위치와 로딩 방법 및 체험용 브로커서버 주소를 안내드립니다.

Library 위치

직접 운영중인 서버에서 라이브러리를 로딩하실 경우 npm i iosignal 으로 설치 후 dist/ 폴더에 있는 배포파일을 이용할수 있습니다. 또는 공개된 CDN 주소를 사용하여 라이브러리를 로딩할 수 도 있습니다.

라이브러리 유형

IOSignal은 ES모듈을 기본 지원합니다.

주의. 배포 버전에 따라 파일명이나 유형이 다를 수 있습니다. v2.2.0의 경우 아래와 같습니다.

  • ES Module: io.js (export default)
  • UMD(IIFE): io.min.js ( global var name IO)

Browser client : ESM 방식

ESM 사용시, export default 가 사용되므로 원하시는 이름으로 import 하시면됩니다. 본 문서에서는 IIFE 방식과 호환을 위해 주로 IO 라는 이름을 사용합니다.

<html>

<script type="module">
import IO from "../dist/io.js"

const io = new IO('wss://io.iosignal.net/ws')
io.listen('channel#topic', (...args)={
console.log( args )
})

io.on('ready',()=>{
console.log('ready cid:', io.cid )
})

</script>

</html>

Browser Client : UMD(IIFE)

예전부터 사용해오던 자바스크립트 라이브러리 로딩방식을 사용할 경우(IIFE)엔 script 태그 위치에 주의하셔야합니다. 즉, script 보다 위에 위치해야합니다. 라이브러리가 로딩되면 전역 변수명 IO으로 로딩됩니다.

<html>
<script src="../dist/io.min.js"></script>
<script>

const io = new IO('wss://io.iosignal.net/ws')
io.listen('channel#topic', (...args)={
console.log( args )
})

io.on('ready',()=>{
console.log('ready cid:', io.cid )
})


</script>

</html>

Browser IO 에 추가로 내장된 모듈들

브라우저 IO 클라이언트에는 웹브라우저에 없는 외부 유틸리티 모듈을 사용합니다. 해당 모듈들은 IO.Name 형식으로 접근하여 사용 가능합니다.

  • Buffer
  • EventEmitter3
  • MBP
  • Boho

예를 들로 IO.Buffer 로 접근가능합니다.

  let buf = IO.Buffer.from('hello')
let hex = buf.toString('hex')
let base64 = buf.toString('base64')
console.log(hex, base64)

IOSignal Broker 서버

접속된 클라이언트들 간의 메시지를 중계해주는 서버를 보통 브로커(broker)라고 부릅니다. (예: MQTT Broker ) IOSignal 은 Node.js 브로커 소스(JS)와 CLI 프로그램도 함께 제공되므로 직접 자신만의 서버를 운영하실 수 있습니다.

서버 사용하기 문서

단, 자체 서버가 없거나 운영이 어려우신 경우 아래의 IOSignal 공개 브로커(서버)를 사용가능합니다.

wss://io.iosignal.net/ws
  • 웹브라우저와 TLS 로 보안통신이 적용되는 서버이며, 주소는 wss:// 으로 시작됩니다.
  • 주의. 공개서버는 시그널 용량과 시그널당 구독자 개수 제한이있습니다.
  • 공개서버 상태는 수시로 변경될 수 있습니다.