chrome.socket

설명

chrome.socket API를 사용하여 TCP 및 UDP 연결을 사용하여 네트워크를 통해 데이터를 주고받습니다. 참고: Chrome 33부터 이 API는 지원 중단되고 sockets.udp, sockets.tcp, sockets.tcpServer API로 대체됩니다.

권한

socket

유형

AcceptInfo

속성

  • resultCode

    숫자

  • socketId

    숫자 선택사항

    허용된 소켓의 ID입니다.

CreateInfo

속성

  • socketId

    숫자

    새로 생성된 소켓의 ID입니다.

CreateOptions

NetworkInterface

속성

  • 주소

    문자열

    사용 가능한 IPv4/6 주소입니다.

  • 이름

    문자열

    어댑터의 기본 이름입니다. *nix에서는 일반적으로 'eth0', 'lo' 등입니다.

  • prefixLength

    숫자

    프리픽스 길이

ReadInfo

속성

  • 데이터

    배열 버퍼

  • resultCode

    숫자

    기본 read() 호출에서 반환된 resultCode입니다.

RecvFromInfo

속성

  • 주소

    문자열

    원격 시스템의 주소입니다.

  • 데이터

    배열 버퍼

  • 포트

    숫자

  • resultCode

    숫자

    기본 recvfrom() 호출에서 반환된 resultCode입니다.

SecureOptions

속성

SocketInfo

속성

  • 연결됨

    부울

    기본 소켓이 연결되어 있는지 여부입니다.

    tcp 소켓의 경우 원격 피어의 연결이 끊겨도 true로 유지됩니다. 소켓을 읽거나 쓸 때 오류가 발생하여 disconnect()를 통해 이 소켓의 연결을 끊어야 할 수 있습니다.

    udp 소켓의 경우 패킷 읽기 및 쓰기를 위해 기본 원격 주소가 지정되었는지 여부만 나타냅니다.

  • localAddress

    문자열(선택사항)

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

  • localPort

    숫자 선택사항

    기본 소켓이 바인딩되거나 연결된 경우 로컬 포트가 포함됩니다.

  • peerAddress

    문자열(선택사항)

    기본 소켓이 연결된 경우 피어의 IPv4/6 주소를 포함합니다.

  • peerPort

    숫자 선택사항

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

  • socketType

    전달된 소켓의 유형입니다. tcp 또는 udp입니다.

SocketType

열거형

'tcp'

"udp"

TLSVersionConstraints

속성

  • 최대

    문자열(선택사항)

  • 문자열(선택사항)

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

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

WriteInfo

속성

  • bytesWritten

    숫자

    전송된 바이트 수 또는 음수 오류 코드입니다.

메서드

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)

이 방법은 TCP 소켓에만 적용됩니다. 이 수신 대기 서버 소켓에서 연결이 수락될 때 호출할 콜백 함수를 등록합니다. Listen을 먼저 호출해야 합니다. 이미 활성화된 수락 콜백이 있는 경우 이 콜백이 즉시 호출되고 resultCode로 표시됩니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • 콜백

    함수

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

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)

소켓의 로컬 주소를 바인딩합니다. 현재는 TCP 소켓을 지원하지 않습니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • 주소

    문자열

    로컬 머신의 주소입니다.

  • 포트

    숫자

    로컬 머신의 포트입니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)

소켓을 원격 머신에 연결합니다 (tcp 소켓의 경우). udp 소켓의 경우 read()write() 호출에서 패킷이 전송되고 읽는 기본 주소를 설정합니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • hostname

    문자열

    원격 머신의 호스트 이름 또는 IP 주소입니다.

  • 포트

    숫자

    원격 머신의 포트입니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

create()

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

지정된 원격 머신에 연결할 지정된 유형의 소켓을 만듭니다.

매개변수

  • 유형

    생성할 소켓 유형입니다. tcp 또는 udp여야 합니다.

  • 옵션

    CreateOptions 선택사항

    소켓 옵션입니다.

  • 콜백

    함수 선택사항

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

    (createInfo: CreateInfo) => void

반환 값

  • Promise&lt;CreateInfo&gt;

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

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

destroy()

chrome.socket.destroy(
  socketId: number,
)

소켓을 소멸시킵니다. 생성된 각 소켓은 사용 후 폐기해야 합니다.

매개변수

  • socketId

    숫자

    socketId입니다.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

소켓의 연결을 해제합니다. UDP 소켓의 경우 disconnect는 작업이 아니지만 호출해도 안전합니다.

매개변수

  • socketId

    숫자

    socketId입니다.

getInfo()

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

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

매개변수

  • socketId

    숫자

    socketId입니다.

  • 콜백

    함수 선택사항

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

    (result: SocketInfo) => void

반환 값

  • Promise&lt;SocketInfo&gt;

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

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

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)

소켓이 현재 연결된 멀티캐스트 그룹 주소를 가져옵니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • 콜백

    함수

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

    (groups: string[]) => void

    • 그룹

      문자열[]

getNetworkList()

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

이 시스템의 로컬 어댑터 정보를 검색합니다.

매개변수

반환 값

  • Promise&lt;NetworkInterface[]&gt;

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

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

멀티캐스트 그룹에 참여하여 해당 그룹에서 패킷을 받기 시작합니다. 소켓은 UDP 유형이어야 하며 이 메서드를 호출하기 전에 로컬 포트에 바인딩해야 합니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • 주소

    문자열

    참여할 그룹 주소입니다. 도메인 이름은 지원되지 않습니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)

이전에 joinGroup를 사용하여 조인된 멀티캐스트 그룹에서 나갑니다. 소켓을 삭제하거나 종료하기 전에 멀티캐스트 그룹을 나갈 필요는 없습니다. 이는 OS에서 자동으로 호출합니다.

그룹을 탈퇴하면 호스트의 다른 프로세스가 그룹에 가입되어 있지 않다고 가정할 때 라우터가 멀티캐스트 데이터그램을 로컬 호스트로 전송하지 못합니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • 주소

    문자열

    탈퇴할 그룹 주소입니다. 도메인 이름은 지원되지 않습니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

listen()

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

이 방법은 TCP 소켓에만 적용됩니다. 지정된 포트와 주소에서 연결을 수신 대기합니다. 이로 인해 서버 소켓이 되고 클라이언트 소켓 함수 (연결, 읽기, 쓰기)를 더 이상 이 소켓에서 사용할 수 없게 됩니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • 주소

    문자열

    로컬 머신의 주소입니다.

  • 포트

    숫자

    로컬 머신의 포트입니다.

  • 백로그

    숫자 선택사항

    소켓 수신 대기 큐의 길이입니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

지정된 연결된 소켓에서 데이터를 읽습니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • bufferSize

    숫자 선택사항

    읽기 버퍼 크기입니다.

  • 콜백

    함수

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

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

지정된 UDP 소켓에서 데이터를 수신합니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • bufferSize

    숫자 선택사항

    수신 버퍼 크기.

  • 콜백

    함수

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

    (recvFromInfo: RecvFromInfo) => void

secure()

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

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

매개변수

  • socketId

    숫자

    사용할 연결된 소켓.

  • 옵션

    SecureOptions 선택사항

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

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)

지정된 UDP 소켓에서 지정된 주소 및 포트로 데이터를 전송합니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • 데이터

    배열 버퍼

    쓸 데이터입니다.

  • 주소

    문자열

    원격 시스템의 주소입니다.

  • 포트

    숫자

    원격 머신의 포트입니다.

  • 콜백

    함수

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

    (writeInfo: WriteInfo) => void

setKeepAlive()

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

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

매개변수

  • socketId

    숫자

    socketId입니다.

  • 사용 설정

    부울

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

  • delay

    숫자 선택사항

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

  • 콜백

    함수

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

    (result: boolean) => void

    • 결과

      부울

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

호스트에서 멀티캐스트 그룹으로 전송된 멀티캐스트 패킷을 호스트로 루프백할지 여부를 설정합니다.

참고: setMulticastLoopbackMode의 동작은 Windows 시스템과 Unix 계열 시스템 간에 약간 다릅니다. 비일관성은 동일한 호스트에서 둘 이상의 애플리케이션이 동일한 멀티캐스트 그룹에 조인되고 멀티캐스트 루프백 모드에 다른 설정이 있는 경우에만 발생합니다. Windows에서 루프백이 해제된 애플리케이션은 루프백 패킷을 수신하지 못합니다. Unix 계열 시스템에서 루프백을 끈 애플리케이션은 동일한 호스트의 다른 애플리케이션에 루프백 패킷을 보내지 않습니다. MSDN 참조: http://goo.gl/6vqbj

이 메서드를 호출하는 데는 멀티캐스트 권한이 필요하지 않습니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • 사용 설정됨

    부울

    루프백 모드를 사용 설정할지 여부를 나타냅니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)

멀티캐스트 그룹으로 전송된 멀티캐스트 패킷의 TTL(수명)을 설정합니다.

이 메서드를 호출하는 데는 멀티캐스트 권한이 필요하지 않습니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • ttl

    숫자

    TTL(수명) 값입니다.

  • 콜백

    함수

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

    (result: number) => void

    • 결과

      숫자

setNoDelay()

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

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

매개변수

  • socketId

    숫자

    socketId입니다.

  • noDelay

    부울

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

  • 콜백

    함수

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

    (result: boolean) => void

    • 결과

      부울

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

지정된 연결된 소켓에 데이터를 씁니다.

매개변수

  • socketId

    숫자

    socketId입니다.

  • 데이터

    배열 버퍼

    쓸 데이터입니다.

  • 콜백

    함수

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

    (writeInfo: WriteInfo) => void