chrome.sockets.tcp

설명

chrome.sockets.tcp API를 사용하여 TCP 연결을 사용하여 네트워크를 통해 데이터를 주고받습니다. 이 API는 이전에 chrome.socket API에서 찾을 수 있었던 TCP 기능을 대체합니다.

매니페스트

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

"sockets"

유형

CreateInfo

속성

  • socketId

    숫자

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

DnsQueryType

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

DNS 변환 환경설정 기본값은 any이며 IPv4 또는 IPv6를 반환할 수 있는 현재 OS 구성을 사용합니다. ipv4는 IPv4를 강제 실행하고 ipv6는 IPv6를 강제 적용합니다.

열거형

'모두'

"ipv4"

"ipv6"

ReceiveErrorInfo

속성

  • resultCode

    숫자

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

  • socketId

    숫자

    소켓 식별자입니다.

ReceiveInfo

속성

  • 데이터

    배열 버퍼

    수신된 데이터(최대 크기는 bufferSize)입니다.

  • socketId

    숫자

    소켓 식별자입니다.

SecureOptions

속성

SendInfo

속성

  • bytesSent

    숫자 선택사항

    전송된 바이트 수입니다 (결과 == 0인 경우).

  • resultCode

    숫자

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

SocketInfo

속성

  • bufferSize

    숫자 선택사항

    데이터를 수신하는 데 사용되는 버퍼의 크기. 버퍼 크기가 명시적으로 지정되지 않은 경우 값이 제공되지 않습니다.

  • 연결됨

    부울

    소켓이 원격 피어에 연결되었는지 여부를 나타내는 플래그.

  • localAddress

    문자열(선택사항)

    기본 소켓이 연결된 경우 로컬 IPv4/6 주소가 포함됩니다.

  • localPort

    숫자 선택사항

    기본 소켓이 연결되면 로컬 포트가 포함됩니다.

  • 이름

    문자열(선택사항)

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

  • 일시중지됨

    부울

    연결된 소켓이 피어가 추가 데이터를 전송하지 못하도록 차단하는지 여부를 나타내는 플래그입니다 (setPaused 참고).

  • peerAddress

    문자열(선택사항)

    기본 소켓이 연결되면 피어/ IPv4/6 주소가 포함됩니다.

  • peerPort

    숫자 선택사항

    기본 소켓이 연결되면 피어 포트가 포함됩니다.

  • 영구

    부울

    애플리케이션이 정지될 때 소켓이 열려 있는지 여부를 나타내는 플래그입니다 (SocketProperties.persistent 참고).

  • socketId

    숫자

    소켓 식별자입니다.

SocketProperties

속성

  • bufferSize

    숫자 선택사항

    데이터를 수신하는 데 사용되는 버퍼의 크기. 기본값은 4,096입니다.

  • 이름

    문자열(선택사항)

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

  • 영구

    불리언 선택사항

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

TLSVersionConstraints

속성

  • 최대

    문자열(선택사항)

  • 문자열(선택사항)

    TLS의 허용 가능한 최소 및 최대 버전입니다. 지원되는 값은 tls1.2 또는 tls1.3입니다.

    tls1tls1.1 값은 더 이상 지원되지 않습니다. min가 이러한 값 중 하나로 설정되면 자동으로 tls1.2로 고정됩니다. max가 이러한 값 중 하나 또는 인식할 수 없는 다른 값으로 설정되면 자동으로 무시됩니다.

메서드

close()

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

소켓을 닫고 소켓이 바인딩된 주소/포트를 해제합니다. 생성한 각 소켓은 사용 후에는 닫아야 합니다. 함수가 호출되는 즉시 소켓 ID가 더 이상 유효하지 않게 됩니다. 그러나 소켓은 콜백이 호출된 경우에만 닫힙니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

소켓을 원격 컴퓨터에 연결합니다. connect 작업이 성공적으로 완료되면 피어에서 데이터가 수신될 때 onReceive 이벤트가 발생합니다. 런타임이 패킷을 수신하는 동안 네트워크 오류가 발생하면 onReceiveError 이벤트가 발생합니다. 이때 resume 메서드가 호출될 때까지 이 소켓에 대해 더 이상 onReceive 이벤트가 발생하지 않습니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • peerAddress

    문자열

    원격 시스템의 주소입니다. DNS 이름, IPv4 및 IPv6 형식이 지원됩니다.

  • peerPort

    숫자

    원격 머신의 포트입니다.

  • dnsQueryType

    DnsQueryType 선택사항

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

    주소 해상도 환경설정입니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

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

create()

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

소켓의 연결을 해제합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

getInfo()

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

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

매개변수

  • 콜백

    함수 선택사항

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

반환 값

  • Promise&lt;SocketInfo[]&gt;

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

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

secure()

chrome.sockets.tcp.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)

연결된 TCP 클라이언트 소켓을 통해 TLS 클라이언트 연결을 시작합니다.

매개변수

  • socketId

    숫자

    사용할 기존의 연결된 소켓입니다.

  • 옵션

    SecureOptions 선택사항

    TLS 연결의 제약조건 및 매개변수

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

지정된 TCP 소켓에서 데이터를 전송합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 데이터

    배열 버퍼

    전송할 데이터입니다.

  • 콜백

    함수

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

    (sendInfo: SendInfo) => void

    • sendInfo

      send 메서드의 결과입니다.

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)

TCP 연결에 대한 연결 유지 기능을 사용 또는 사용 중지합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 사용 설정

    부울

    true인 경우 연결 유지 기능을 사용 설정합니다.

  • delay

    숫자 선택사항

    수신된 마지막 데이터 패킷과 첫 번째 연결 유지 프로브 사이의 지연 시간(초)을 설정합니다. 기본값은 0입니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

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

setNoDelay()

chrome.sockets.tcp.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)

TCP 연결의 TCP_NODELAY를 설정하거나 지웁니다. TCP_NODELAY가 설정되면 Nagle 알고리즘이 사용 중지됩니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • noDelay

    부울

    true인 경우 Nagle의 알고리즘을 사용 중지합니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

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

setPaused()

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

애플리케이션이 동종 앱으로부터 메시지를 수신할 수 있도록 설정하거나 사용 중지합니다. 기본값은 'false' 입니다. 소켓을 일시중지하는 것은 일반적으로 애플리케이션이 피어에서 전송한 데이터를 제한하는 데 사용됩니다. 소켓이 일시중지되면 onReceive 이벤트가 발생하지 않습니다. 소켓이 연결되고 일시중지가 해제되면 메시지가 수신될 때 onReceive 이벤트가 다시 발생합니다.

매개변수

  • socketId

    숫자

  • 일시중지됨

    부울

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

update()

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

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

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

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

이벤트

onReceive

chrome.sockets.tcp.onReceive.addListener(
  callback: function,
)

지정된 소켓의 데이터를 수신하면 이벤트가 발생합니다.

매개변수

  • 콜백

    함수

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

    (info: ReceiveInfo) => void

onReceiveError

chrome.sockets.tcp.onReceiveError.addListener(
  callback: function,
)

런타임이 소켓 주소 및 포트에서 데이터를 기다리는 동안 네트워크 오류가 발생하면 이벤트가 발생합니다. 이 이벤트가 발생하면 소켓이 paused로 설정되고 이 소켓에서 더 이상 onReceive 이벤트가 발생하지 않습니다.

매개변수