5분 빠른 시작
이 튜토리얼은 iosignal 5.2.x, Node.js 환경에서 로컬 서버와 두 클라이언트 사이의 메시지 전달을 확인합니다. 터미널 세 개가 필요합니다.
1. 프로젝트 준비
mkdir iosignal-hello
cd iosignal-hello
npm init -y
npm install iosignal@^5.2.0
아래 파일은 .mjs 확장자를 사용하므로 package.json을 수정할 필요가 없습니다.
2. 서버 실행
server.mjs:
import { Server } from 'iosignal';
const server = new Server({ port: 7777 });
server.on('ready', () => console.log('서버 준비: ws://localhost:7777'));
첫 번째 터미널에서 node server.mjs를 실행하고 그대로 둡 니다.
3. 수신자 실행
receiver.mjs:
import { IO } from 'iosignal';
const io = new IO('ws://localhost:7777');
io.listen('hello#message', (tag, message) => {
console.log(tag, message);
});
io.on('ready', () => console.log('수신 준비:', io.cid));
io.on('error', console.error);
두 번째 터미널에서 node receiver.mjs를 실행합니다. ready가 표시될 때까지 기다립니다. listen은 채널과 핸들러를 등록하며, 연결이 준비되면 구독합니다.
4. 송신자 실행
sender.mjs:
import { IO } from 'iosignal';
const io = new IO('ws://localhost:7777');
io.on('ready', () => {
io.signal('hello#message', '안녕하세요, IOSignal!');
console.log('전송 완료');
});
io.on('error', console.error);
세 번째 터미널에서 node sender.mjs를 실행합니다. 수신 터미널에 hello#message와 메시지가 출력되면 성공입니다. hello는 채널, message는 토픽입니다. 실행 중인 클라이언트와 서버를 종료하려면 각 터미널에서 Ctrl+C를 누르세요.
다음 단계
- 태그와 전달 방식: 채널, CID, 홈채널을 구분합니다.
- Vanilla 채팅 예제: 같은 원리를 브라우저 UI로 확장합니다.
- 클라이언트 API: 메서드와 이벤트를 찾습니다.