본문으로 건너뛰기

탐색

클라이언트가 터미널의 포트와 토큰을 스스로 찾게 하거나, 직접 전달합니다.

클라이언트에는 두 가지가 필요합니다. 터미널이 수신하는 포트와 토큰입니다. Terminal.discover()가 둘 다 찾습니다.

터미널 찾기

from spectre_terminal import Terminal

terminal = Terminal.discover()

토큰은 SPECTRE_LOCAL_API_TOKEN 환경 변수에서만 가져옵니다. 포트는 터미널의 instance.json 파일에서 가져옵니다. 파일이 없으면 포트는 48180입니다. 그다음 discover()가 테스트 요청을 한 번 보냅니다.

탐색이 실패할 때

상황받는 응답대처 방법
토큰이 설정되지 않음TokenMissingSPECTRE_LOCAL_API_TOKEN을 설정합니다
API가 꺼져 있음LocalApiDisabledAPI를 켭니다
포트에서 아무것도 응답하지 않음TerminalUnreachable터미널을 시작합니다
토큰이 현재 토큰이 아님코드가 unauthorized인 ApiError토큰을 다시 복사합니다
터미널의 API 버전이 다름IncompatibleTerminal호환성을 참고하십시오

이것은 Python의 이름입니다. TypeScript의 이름은 Error로 끝납니다. 예: TokenMissingError.

포트와 토큰 직접 지정하기

import os
from spectre_terminal import Terminal

found = Terminal.discover(port=48181)
direct = Terminal(os.environ["SPECTRE_LOCAL_API_TOKEN"], port=48181)

포트를 넘긴 discover()는 instance.json을 읽지 않습니다. 생성자는 토큰과 포트를 받은 그대로 사용합니다.

다른 포트에서 실행하는 두 번째 터미널에 이 방법을 씁니다. 컴퓨터 한 대에 터미널 하나가 지원되는 구성입니다. 호스트는 항상 127.0.0.1 또는 localhost입니다.

클라이언트 없이 포트 읽기

다른 언어로 작성한 프로그램은 instance.json에서 local_api_port를 읽습니다.

{ "pid": 108957, "http_port": 46727, "local_api_port": 48180 }
시스템경로
Linux$XDG_DATA_HOME/spectre-terminal/instance.json, 기본값은 ~/.local/share/spectre-terminal/instance.json
macOS~/Library/Application Support/spectre-terminal/instance.json
Windows%LOCALAPPDATA%\spectre-terminal\instance.json

API가 꺼져 있는 동안 local_api_port는 없거나 null입니다. http_port는 사용하지 마십시오. Local API가 아닙니다.

이 페이지의 내용