chrome.bluetoothSocket

설명

chrome.bluetoothSocket API를 사용하여 RFCOMM 및 L2CAP 연결을 사용하는 블루투스 기기로 데이터를 주고받습니다.

매니페스트

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

"bluetooth"

유형

AcceptError

열거형

"system_error"
시스템 오류가 발생했습니다. 연결을 복구하지 못할 수 있습니다.

"not_listening"
소켓이 수신 대기하고 있지 않습니다.

AcceptErrorInfo

속성

  • 오류

    무엇이 잘못되었는지 나타내는 오류 코드입니다.

  • errorMessage

    문자열

    오류 메시지.

  • socketId

    숫자

    서버 소켓 식별자입니다.

AcceptInfo

속성

  • clientSocketId

    숫자

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

  • socketId

    숫자

    서버 소켓 식별자입니다.

CreateInfo

속성

  • socketId

    숫자

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

ListenOptions

속성

  • 백로그

    숫자 선택사항

    소켓 수신 대기 큐의 길이입니다. 기본값은 운영체제의 호스트 하위 시스템에 따라 다릅니다.

  • 채널

    숫자 선택사항

    listenUsingRfcomm에서 사용하는 RFCOMM 채널입니다. 지정된 경우 이 채널을 이전에 사용한 적이 없어야 합니다. 그렇지 않으면 메서드 호출이 실패합니다. 지정하지 않으면 사용되지 않는 채널이 자동으로 할당됩니다.

  • PSM

    숫자 선택사항

    listenUsingL2cap에서 사용하는 L2CAP PSM입니다. 지정된 경우 이 PSM은 이전에 사용 중이거나 실패한 메서드 호출이 아니어야 합니다. 지정하지 않으면 사용되지 않는 PSM이 자동으로 할당됩니다.

ReceiveError

열거형

"disconnection"
연결이 끊어졌습니다.

"system_error"
시스템 오류가 발생했습니다. 연결을 복구하지 못할 수 있습니다.

"not_connected"
소켓이 연결되지 않았습니다.

ReceiveErrorInfo

속성

  • 오류

    무엇이 잘못되었는지 나타내는 오류 코드입니다.

  • errorMessage

    문자열

    오류 메시지.

  • socketId

    숫자

    소켓 식별자입니다.

ReceiveInfo

속성

  • 데이터

    배열 버퍼

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

  • socketId

    숫자

    소켓 식별자입니다.

SocketInfo

속성

  • 주소

    문자열(선택사항)

    기본 소켓이 연결된 경우 연결된 기기의 블루투스 주소가 포함됩니다.

  • bufferSize

    숫자 선택사항

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

  • 연결됨

    부울

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

  • 이름

    문자열(선택사항)

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

  • 일시중지됨

    부울

    연결된 소켓이 피어가 추가 데이터를 전송하지 못하도록 차단하는지 여부, 또는 수신 대기 소켓의 연결 요청이 onAccept 이벤트를 통해 전달되거나 수신 대기 큐 백로그의 큐에 추가되는지를 나타내는 플래그입니다. setPaused 페이지를 참고하세요. 기본값은 'false' 입니다.

  • 영구

    부울

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

  • socketId

    숫자

    소켓 식별자입니다.

  • uuid

    문자열(선택사항)

    기본 소켓이 연결된 경우 연결된 서비스 UUID에 대한 정보가 포함됩니다. 그렇지 않은 경우 기본 소켓이 수신 대기 중인 경우 수신 대기 중인 서비스 UUID에 대한 정보가 포함됩니다.

SocketProperties

속성

  • bufferSize

    숫자 선택사항

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

  • 이름

    문자열(선택사항)

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

  • 영구

    불리언 선택사항

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

메서드

close()

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

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

connect()

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

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 주소

    문자열

    블루투스 기기의 주소입니다.

  • uuid

    문자열

    연결할 서비스의 UUID입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

create()

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

블루투스 소켓을 생성합니다.

매개변수

  • 속성

    SocketProperties 선택사항

    소켓 속성 (선택사항)

  • 콜백

    함수 선택사항

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

    (createInfo: CreateInfo) => void

    • createInfo

      소켓 생성 결과입니다.

반환 값

  • Promise&lt;CreateInfo&gt;

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

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

disconnect()

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

소켓의 연결을 해제합니다. 소켓 식별자는 유효한 상태로 유지됩니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

getInfo()

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

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

반환 값

  • Promise&lt;SocketInfo&gt;

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

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

getSockets()

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

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

매개변수

  • 콜백

    함수 선택사항

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

    (sockets: SocketInfo[]) => void

반환 값

  • Promise&lt;SocketInfo[]&gt;

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

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

listenUsingL2cap()

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

L2CAP 프로토콜을 사용하여 연결을 수신 대기합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • uuid

    문자열

    리슨할 서비스 UUID입니다.

  • 옵션

    ListenOptions 선택사항

    서비스의 추가 옵션입니다(선택사항).

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

listenUsingRfcomm()

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

RFCOMM 프로토콜을 사용하여 연결을 수신 대기합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • uuid

    문자열

    리슨할 서비스 UUID입니다.

  • 옵션

    ListenOptions 선택사항

    서비스의 추가 옵션입니다(선택사항).

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

send()

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

지정된 블루투스 소켓에서 데이터를 전송합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 데이터

    배열 버퍼

    전송할 데이터입니다.

  • 콜백

    함수 선택사항

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

    (bytesSent: number) => void

    • bytesSent

      숫자

      전송된 바이트 수입니다.

반환 값

  • Promise&lt;number&gt;

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

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

setPaused()

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

연결된 소켓이 피어에서 메시지를 수신하거나 수신 소켓이 새 연결을 수락하지 않도록 활성화하거나 비활성화합니다. 기본값은 'false' 입니다. 연결된 소켓을 일시중지하는 것은 일반적으로 애플리케이션이 피어에서 전송한 데이터를 제한하는 데 사용됩니다. 연결된 소켓이 일시중지되면 onReceive 이벤트가 발생하지 않습니다. 소켓이 연결되고 일시중지가 해제되면 메시지가 수신될 때 onReceive 이벤트가 다시 발생합니다. 수신 소켓이 일시중지되면 백로그가 가득 찰 때까지 새 연결이 수락된 후 추가 연결 요청이 거부됩니다. onAccept 이벤트는 소켓의 일시중지가 해제될 때만 발생합니다.

매개변수

  • socketId

    숫자

  • 일시중지됨

    부울

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

update()

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

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

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

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

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

이벤트

onAccept

chrome.bluetoothSocket.onAccept.addListener(
  callback: function,
)

지정된 소켓에 대해 연결이 설정될 때 발생하는 이벤트입니다.

매개변수

  • 콜백

    함수

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

    (info: AcceptInfo) => void

onAcceptError

chrome.bluetoothSocket.onAcceptError.addListener(
  callback: function,
)

런타임이 지정된 소켓에서 새 연결을 기다리는 동안 네트워크 오류가 발생하면 이벤트가 발생합니다. 이 이벤트가 발생하면 소켓이 paused로 설정되고 이 소켓에 대해 더 이상 onAccept 이벤트가 발생하지 않습니다.

매개변수

onReceive

chrome.bluetoothSocket.onReceive.addListener(
  callback: function,
)

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

매개변수

  • 콜백

    함수

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

    (info: ReceiveInfo) => void

onReceiveError

chrome.bluetoothSocket.onReceiveError.addListener(
  callback: function,
)

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

매개변수