syn.$n: 창(window) 간 메시지 채널, SSE, WebSocket 클라이언트 기능을 제공합니다.

속성

현재 화면 주소의 channelID 쿼리 문자열 값입니다(없으면 빈 문자열). syn.$n.emit()이 대상 채널을 찾을 때 사용합니다.

rooms/channel 전역 편의 메서드 (call / broadCast / emit / findChannel)

아래 4개 메서드는 syn.$n.rooms.connect()로 생성된 채널 객체 없이, channelID만으로 이미 연결된 채널에 접근하는 전역 편의 메서드입니다. 두 번째 창(iframe)이 필요한 저수준 rooms.connect() / 채널 객체의 call() / bind() 흐름은 iframe_main.html / iframe_child.html 예제를 참고하세요. 이 페이지는 화면 뒤에 숨겨진 iframe 하나를 자동으로 만들어 "network-demo"라는 channelID로 연결한 뒤, 그 채널을 대상으로 호출을 시연합니다.
channelID(scope)로 연결된 채널을 조회합니다. 최초 클릭 시 데모용 숨김 iframe과 채널을 생성합니다.
channelID로 채널을 찾아 evt 메서드를 호출합니다. 성공/실패는 debugOutput 로그(브라우저 콘솔, F12)로 확인합니다.
현재 화면에 연결된 모든 채널(syn.$n.connections)에 동일한 evt를 호출합니다.
syn.$n.myChannelID로 지정된 채널에 응답을 기대하지 않는 이벤트를 전송합니다(데모에서는 myChannelID를 'network-demo'로 임시 설정 후 호출). 데모 iframe이 'note'를 받으면 'note-ack'로 응답하며, 그 결과가 아래 출력창에 표시됩니다.
findChannel / call / broadCast / emit 호출에 대한 진행 로그와, 데모 iframe으로부터 돌아오는 'note-ack' 응답이 표시됩니다.

SSE 클라이언트 (Server-Sent Events)

이 저장소에는 실제로 동작을 보장하는 SSE 서버가 없습니다. 아래 입력창에 본인이 확인 가능한 SSE 엔드포인트(예: 사내 개발 서버의 /api/events)를 직접 입력해서 테스트하세요. 입력하지 않으면 연결 시도 즉시 에러/닫힘 이벤트가 출력창에 표시됩니다.
지정한 id로 EventSource 연결을 생성하고 open/message/error 이벤트를 출력창에 기록합니다.
id로 등록된 EventSource 인스턴스를 조회해 readyState/url을 보여줍니다.
지정한 id 또는 전체 SSE 연결을 닫습니다.

WebSocket 클라이언트

이 저장소에는 실제로 동작을 보장하는 WebSocket 서버가 없습니다. 아래 입력창에 본인이 확인 가능한 WebSocket 엔드포인트(wss://...)를 직접 입력해서 테스트하세요.
지정한 id로 WebSocket 연결을 생성합니다. 기본 옵션은 자동 재연결(autoReconnect: true)이 켜져 있습니다.
연결이 열려 있는 경우(readyState === OPEN)에만 전송에 성공합니다.
id로 등록된 원시 WebSocket 인스턴스를 조회해 readyState를 보여줍니다.
종료 시 자동 재연결 타이머도 함께 정리됩니다.