chrome.sockets.tcpServer

설명

chrome.sockets.tcpServer API를 사용하여 TCP 연결을 사용하는 서버 애플리케이션을 만듭니다. 이 API는 이전에 chrome.socket API에서 찾을 수 있었던 TCP 기능을 대체합니다.

매니페스트

이 API를 사용하려면 매니페스트에서 다음 키를 선언해야 합니다.

"sockets"

유형

AcceptErrorInfo

속성

  • resultCode

    숫자

    기본 네트워크 호출에서 반환된 결과 코드입니다.

  • socketId

    숫자

    서버 소켓 식별자입니다.

AcceptInfo

속성

  • clientSocketId

    숫자

    클라이언트 소켓 식별자, 즉 새로 설정한 연결의 소켓 식별자입니다. 이 소켓 식별자는 chrome.sockets.tcp 네임스페이스의 함수에서만 사용해야 합니다. 클라이언트 소켓은 처음에 일시중지되었으며 데이터 수신을 시작하려면 애플리케이션이 명시적으로 일시중지를 해제해야 합니다.

  • socketId

    숫자

    서버 소켓 식별자입니다.

CreateInfo

속성

  • socketId

    숫자

    새로 만든 서버 소켓의 ID입니다. 이 API에서 만든 소켓 ID는 지원 중단된 [socket](../socket/) API와 같이 다른 API에서 만든 소켓 ID와 호환되지 않습니다.

SocketInfo

속성

  • localAddress

    문자열(선택사항)

    소켓이 수신 대기 중인 경우 - 로컬 IPv4/6 주소를 포함합니다.

  • localPort

    숫자 선택사항

    소켓이 수신 중인 경우 - 로컬 포트를 포함합니다.

  • 이름

    문자열(선택사항)

    소켓과 연결된 애플리케이션 정의 문자열입니다.

  • 일시중지됨

    부울

    수신 대기 소켓의 연결 요청이 onAccept 이벤트를 통해 전달되는지 아니면 수신 대기 대기열 백로그의 대기열에 추가되는지 나타내는 플래그입니다. setPaused 페이지를 참고하세요. 기본값은 'false' 입니다.

  • 영구

    부울

    애플리케이션의 이벤트 페이지가 언로드될 때 소켓이 열린 상태로 유지되는지 나타내는 플래그입니다 (SocketProperties.persistent 참고). 기본값은 'false'입니다.

  • socketId

    숫자

    소켓 식별자입니다.

SocketProperties

속성

  • 이름

    문자열(선택사항)

    소켓과 연결된 애플리케이션 정의 문자열입니다.

  • 영구

    불리언 선택사항

    애플리케이션의 이벤트 페이지가 언로드될 때 소켓이 열린 상태로 유지되는지 나타내는 플래그입니다 (앱 수명 주기 관리 참조). 기본값은 'false'입니다. 애플리케이션이 로드될 때 이전에Persistent=true로 열린 소켓을 getSockets로 가져올 수 있습니다.

메서드

close()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)

소켓의 연결을 해제하고 폐기합니다. 생성한 각 소켓은 사용 후에는 닫아야 합니다. 함수가 호출되는 즉시 소켓 ID가 더 이상 유효하지 않습니다. 그러나 소켓은 콜백이 호출된 경우에만 닫힙니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • 프로미스<void>

    Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

create()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)

TCP 서버 소켓을 만듭니다.

매개변수

  • 속성

    SocketProperties 선택사항

    소켓 속성 (선택사항)

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (createInfo: CreateInfo) => void

    • createInfo

      소켓 생성 결과입니다.

반환 값

  • Promise&lt;CreateInfo&gt;

    Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

disconnect()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)

수신 소켓의 연결을 해제합니다. 즉, 새 연결 수락을 중지하고 소켓이 바인딩된 주소/포트를 해제합니다. 소켓 식별자는 계속 유효합니다. 예를 들면 listen와 함께 사용하여 새 포트와 주소에서 연결을 수락할 수 있습니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • 프로미스<void>

    Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getInfo()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.sockets.tcpServer.getInfo(
  socketId: number,
  callback?: function,
)

지정된 소켓의 상태를 검색합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (socketInfo: SocketInfo) => void

    • socketInfo

      소켓 정보를 포함하는 객체입니다.

반환 값

  • Promise&lt;SocketInfo&gt;

    Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getSockets()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)

애플리케이션이 소유한 현재 열려 있는 소켓의 목록을 검색합니다.

매개변수

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      소켓 정보를 포함하는 객체의 배열입니다.

반환 값

  • Promise&lt;SocketInfo[]&gt;

    Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

listen()

chrome.sockets.tcpServer.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)

지정된 포트와 주소에서 연결을 수신 대기합니다. 포트/주소가 사용 중인 경우 콜백은 실패를 나타냅니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 주소

    문자열

    로컬 머신의 주소입니다.

  • 포트

    숫자

    로컬 머신의 포트입니다. 0로 설정하면 여유 포트가 동적으로 선택됩니다. 동적으로 할당된 포트는 getInfo를 호출하여 찾을 수 있습니다.

  • 백로그

    숫자 선택사항

    소켓 수신 대기 큐의 길이입니다. 기본값은 운영체제 (SOMAXCONN)에 따라 다르므로 대부분의 애플리케이션에 적절한 큐 길이를 보장합니다.

  • 콜백

    함수

    callback 매개변수는 다음과 같습니다.

    (result: number) => void

    • 결과

      숫자

      기본 네트워크 호출에서 반환된 결과 코드입니다. 음수 값은 오류를 나타냅니다.

setPaused()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

수신 소켓이 새 연결을 수락하지 않도록 사용 설정하거나 중지합니다. 일시중지되면 수신 소켓이 백로그 (listen 함수 참고)가 가득 찰 때까지 새 연결을 수락한 후 추가 연결 요청을 거부합니다. onAccept 이벤트는 소켓의 일시중지가 해제될 때만 발생합니다.

매개변수

  • socketId

    숫자

  • 일시중지됨

    부울

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • 프로미스<void>

    Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

update()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

소켓 속성을 업데이트합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 업데이트할 속성입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • 프로미스<void>

    Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

이벤트

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

서버 소켓에 연결되었을 때 발생하는 이벤트입니다.

매개변수

  • 콜백

    함수

    callback 매개변수는 다음과 같습니다.

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

런타임이 소켓 주소 및 포트에서 새 연결을 기다리는 동안 네트워크 오류가 발생하면 이벤트가 발생합니다. 이 이벤트가 발생하면 소켓이 paused로 설정되고 소켓이 재개될 때까지 이 소켓에 관한 onAccept 이벤트가 더 이상 발생하지 않습니다.

매개변수