WebSocket과 SSE
WebSocket 서버에 연결하고, 저장된 메시지와 일회성 메시지를 보내며, Server-Sent Events 스트림을 도착하는 대로 확인합니다.
WebSocket 요청은 계속 유지되는 연결을 엽니다. 메시지를 보내고 서버의 메시지를 도착하는 대로 확인할 수 있습니다. Server-Sent Events(SSE)는 응답이 계속 스트리밍되는 일반 HTTP 요청이며, Echolot은 각 이벤트를 도착하는 대로 보여 줍니다.
WebSocket 요청

연결
- 파일 › 새로운 WebSocket 요청을 선택하거나, 사이드바의 요청 옆 + 메뉴에서 새로운 WebSocket 요청을 선택합니다.
ws://또는wss://로 시작하는 주소를 입력합니다. Alpenglow의 Realtime › Order updates는{{wsURL}}/orders를 쓰며, 이는wss://demo.echolot.dev/v1/orders입니다.- 연결(⌘R)을 선택합니다.
연결이 열려 있는 동안에는 버튼이 연결 해제(다시 ⌘R)로 표시됩니다. 보호된 환경이 활성 상태이면 환경 이름과 함께 Production에 연결…이라고 표시되며 먼저 확인합니다. 보호된 환경을 참고하십시오.
편집기의 탭은 문서, 메시지, 헤더, 매개변수, 인증, 변수, 테스트, 스크립트, 설정입니다. 헤더, 쿼리 매개변수, 인증은 여는 핸드셰이크 (HTTP 업그레이드)와 함께 전달되므로 헤더나 주소에 토큰을 요구하는 서버는 거기서 받습니다. TLS 확인, 프록시, 인증서 같은 설정은 HTTP 요청과 같이 적용됩니다.
하위 프로토콜
메시지 탭 맨 위의 하위 프로토콜에는 서버에 제안할 프로토콜을 graphql-ws, chat.v2처럼 쉼표로 구분해 나열합니다. 없으면 비워 둡니다.
메시지 보내기
메시지 탭 맨 아래에 메시지를 입력하고 보내기(⇧⌘↩)를 선택합니다. {{variables}}를 쓸 수 있습니다. 연결이 열리기 전까지 필드에는
메시지를 보내려면 연결이라고 표시됩니다.
자주 보내는 메시지는 요청과 함께 저장할 수 있습니다. 필드 옆의 +를 선택하면 입력한 내용이 저장됩니다. 저장된 메시지마다 이름, 텍스트, 자체 보내기 버튼이 있습니다. Order updates에는 두 개가 있습니다.
{"op":"subscribe","channel":"orders"}{"op":"ping"}저장된 메시지 맨 앞의 체크 상자인 실행 시 보내기는 사용자 없이 요청이 실행될 때 메시지를 보낼지 정합니다. 실행, 명령줄, 에이전트가 이에 해당합니다. 이들은 연결한 뒤 사용 설정된 메시지를 순서대로 보내고, 10초 동안 수신한 다음 닫습니다.
메시지 로그
응답 패널의 메시지 탭은 세션을 실시간으로 보여 줍니다. 양방향의 모든 메시지가 시간순으로 나열되고 가장 최근 항목이 맨 아래에 오며, 각각 시간과 크기가 있고 연결이 열리고 닫힌 시점도 표시됩니다.
- 모두, 보냄, 받음은 방향별로 거릅니다.
- 메시지 필터링은 텍스트로 메시지를 찾습니다.
- 더 보기는 JSON 메시지를 보기 좋게 정렬해 보여 주고, 간략히는 다시 접습니다.
- 복사 버튼은 메시지를 복사합니다.
Echolot은 서버의 ping에 직접 응답합니다. 조각을 이어 붙인 메시지는 최대 64 MB까지 가능하며, 그보다 크면 코드 1009로 연결이 닫힙니다.
연결이 닫히면 세션은 기록에 보관됩니다. 핸드셰이크는 요청으로, 메시지 로그는 응답 본문으로 저장됩니다.
Server-Sent Events
Server-Sent Events 스트림은 이벤트를 계속 보내는 text/event-stream 유형의 HTTP 응답입니다. 일반 HTTP 요청을 사용하십시오. 주소 외에 따로 설정할 것은 없습니다.

- Alpenglow 작업 공간에서 Realtime › Order events를 엽니다.
Accept: text/event-stream과 함께GET {{baseURL}}/orders/events를 보냅니다. - 보내기를 선택합니다.
- 응답 패널에서 이벤트 탭을 선택합니다.
이벤트 탭에는 이벤트가 순서대로 번호와 함께 나열되며, 이벤트 이름과 id(id:), 그리고 JSON이면 데이터가 JSON으로 표시됩니다. 스트림이 실행되는 동안 새 이벤트를 따라가며
개수를 셉니다. 본문 탭에는 서버가 쓴 그대로의 스트림이 표시되고, 도착하는 대로 늘어납니다.
스트림은 서버가 끝내거나 사용자가 취소(⌘.)를 선택할 때까지 실행되며, 도착한 내용은 보관됩니다. 스트림이 시작된 뒤에는 요청의 전체 시간 초과가 더는 적용되지 않습니다. 실행, 명령줄, 에이전트에서는 스트림이 10초 뒤에 끝납니다.
스트림을 멈춘 곳에서 이어서 받으려면 마지막 이벤트의 id를 Last-Event-ID 헤더에 담아 보내십시오. 데모 API의 스트림은 1초 간격으로 이벤트 20개를 보낸 뒤 end를 보내며,
Last-Event-ID를 지원합니다.
HTTP를 통한 GraphQL 구독도 Server-Sent Events를 사용합니다. GraphQL을 참고하십시오.
명령줄에서
echolot send는 터미널에서 WebSocket 및 Socket.IO 세션을 열고 이벤트 스트림을 따라갑니다. echolot send와 실시간 튜토리얼을
참고하십시오.

