서버 API와 옵션
기준: Server와 serverOption, iosignal 5.2.x.
import { Server } from 'iosignal';
const server = new Server({ port: 7777 });
server.on('ready', () => console.log('연결 수신 준비'));
서버 생성 시 port(WebSocket), httpServer(기존 HTTP 서버), congPort(CongSocket) 중 하나 이상을 지정해야 합니다.
| 생성 옵션 | 의미 |
|---|---|
port | WebSocket 연결 포트. 브라우저와 Node.js IO 클라이언트가 사용합니다. |
httpServer, wsPath | 기존 HTTP 서버에 WebSocket을 연결하고 경로를 지정합니다. |
congPort | CongSocket 연결 포트. Arduino와 해당 Node.js 클라이언트에 사용합니다. |
timeout, monitorPeriod | 밀리초 단위의 연결·모니터링 설정. 생성자에서 1000ms 이상만 반영됩니다. |
showMessage, showMetric | 메시지·지표 출력 설정. |
membersOnly | 인증된 구성원만 허용하는 설정. 인증 공급자와 함께 구성하세요. |
서버 서비스는 server.attach(name, service)로 등록합니다. 서비스에는 commands 배열과 checkPermission(remote, req) 함수가 필요하며, 명령별 메서드 또는 call(remote, req)를 구현합니다. 반환 응답과 권한 검사를 포함한 예제는 replyService와 attach 테스트를 참고하세요.
운영 시에는 WebSocket의 ws:/// wss:// 주소와 CongSocket 포트를 구분하고, 공개 서비스의 인증과 접근 정책을 명시하세요.