chrome.bluetoothSocket

설명

chrome.bluetoothSocket API를 사용하여 RFCOMM 및 L2CAP 연결을 사용하는 블루투스 기기로 데이터를 송수신합니다.

매니페스트

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

"bluetooth"

유형

AcceptError

열거형

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

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

AcceptErrorInfo

속성

  • error

    문제를 나타내는 오류 코드입니다.

  • errorMessage

    string

    오류 메시지.

  • socketId

    숫자

    서버 소켓 식별자입니다.

AcceptInfo

속성

  • clientSocketId

    숫자

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

  • socketId

    숫자

    서버 소켓 식별자입니다.

CreateInfo

속성

  • socketId

    숫자

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

ListenOptions

속성

  • 백로그

    number 선택사항

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

  • 채널

    number 선택사항

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

  • PSM

    number 선택사항

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

ReceiveError

열거형

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

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

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

ReceiveErrorInfo

속성

  • error

    문제를 나타내는 오류 코드입니다.

  • errorMessage

    string

    오류 메시지.

  • socketId

    숫자

    소켓 식별자입니다.

ReceiveInfo

속성

  • 데이터

    ArrayBuffer

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

  • socketId

    숫자

    소켓 식별자입니다.

SocketInfo

속성

  • 주소

    문자열 선택사항

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

  • bufferSize

    number 선택사항

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

  • 연결됨

    boolean

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

  • 이름

    문자열 선택사항

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

  • 일시중지됨

    boolean

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

  • 영구

    boolean

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

  • socketId

    숫자

    소켓 식별자입니다.

  • uuid

    문자열 선택사항

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

SocketProperties

속성

  • bufferSize

    number 선택사항

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

  • 이름

    문자열 선택사항

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

  • 영구

    부울 선택사항

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

방법

close()

프로미스
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)

소켓을 연결 해제하고 파괴합니다. 생성된 각 소켓은 사용 후 닫혀야 합니다. 함수가 호출되는 즉시 소켓 ID가 더 이상 유효하지 않습니다. 그러나 소켓은 콜백이 호출될 때만 닫힙니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 91 이상

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

connect()

프로미스
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 주소

    string

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

  • uuid

    string

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 91 이상

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

create()

프로미스
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

블루투스 소켓을 만듭니다.

매개변수

  • 속성

    SocketProperties 선택사항

    소켓 속성 (선택사항)

  • 콜백

    함수 선택사항

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

    (createInfo: CreateInfo)=>void

    • createInfo

      소켓 생성 결과입니다.

반환 값

  • Promise<CreateInfo>

    Chrome 91 이상

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

disconnect()

프로미스
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)

소켓을 연결 해제합니다. 소켓 식별자는 계속 유효합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 91 이상

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

getInfo()

프로미스
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    (socketInfo: SocketInfo)=>void

    • socketInfo

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

반환 값

  • Promise<SocketInfo>

    Chrome 91 이상

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

getSockets()

프로미스
chrome.bluetoothSocket.getSockets(
  callback?: function,
)

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

매개변수

  • 콜백

    함수 선택사항

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

    (sockets: SocketInfo[])=>void

반환 값

  • Promise<SocketInfo[]>

    Chrome 91 이상

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

listenUsingL2cap()

프로미스
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • uuid

    string

    수신 대기할 서비스 UUID입니다.

  • 옵션

    ListenOptions 선택사항

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 91 이상

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

listenUsingRfcomm()

프로미스
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • uuid

    string

    수신 대기할 서비스 UUID입니다.

  • 옵션

    ListenOptions 선택사항

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 91 이상

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

send()

프로미스
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 데이터

    ArrayBuffer

    전송할 데이터입니다.

  • 콜백

    함수 선택사항

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

    (bytesSent: number)=>void

    • bytesSent

      숫자

      전송된 바이트 수입니다.

반환 값

  • 프로미스<number>

    Chrome 91 이상

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

setPaused()

프로미스
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

  • 일시중지됨

    boolean

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 91 이상

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

update()

프로미스
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<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,
)

지정된 소켓에 대해 데이터가 수신되면 발생하는 이벤트입니다.

매개변수

onReceiveError

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

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

매개변수