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

열거형

'연결 끊김'
연결이 끊어졌습니다.

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

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

ReceiveErrorInfo

속성

  • 오류

    어떤 문제가 발생했는지 나타내는 오류 코드입니다.

  • errorMessage

    문자열

    오류 메시지.

  • socketId

    숫자

    소켓 식별자입니다.

ReceiveInfo

속성

  • 데이터

    ArrayBuffer

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

  • socketId

    숫자

    소켓 식별자입니다.

SocketInfo

속성

  • 주소

    문자열 선택사항

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

  • bufferSize

    번호 선택사항

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

  • 연결됨

    부울

    소켓이 원격 피어에 연결되어 있는지 나타내는 플래그입니다.

  • 이름

    문자열 선택사항

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

  • 일시중지됨

    부울

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

  • 영구

    부울

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

  • socketId

    숫자

    소켓 식별자입니다.

  • uuid

    문자열 선택사항

    기본 소켓이 연결된 경우 연결된 서비스 UUID에 관한 정보를 포함하고, 기본 소켓이 리슨 중인 경우 리슨 중인 서비스 UUID에 관한 정보를 포함합니다.

SocketProperties

속성

  • bufferSize

    번호 선택사항

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

  • 이름

    문자열 선택사항

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

  • 영구

    불리언 선택사항

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

메서드

close()

Promise
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • Promise<void>

    Chrome 91 이상

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

connect()

Promise
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 주소

    문자열

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

  • uuid

    문자열

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

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • Promise<void>

    Chrome 91 이상

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

create()

Promise
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

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

매개변수

  • 속성

    SocketProperties 선택사항

    소켓 속성 (선택사항)

  • 콜백

    함수 선택사항

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

    (createInfo: CreateInfo) => void

    • createInfo

      소켓 생성 결과입니다.

반환 값

  • Promise<CreateInfo>

    Chrome 91 이상

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

disconnect()

Promise
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)

소켓 연결을 해제합니다. 소켓 식별자는 유효하게 유지됩니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • Promise<void>

    Chrome 91 이상

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

getInfo()

Promise
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)

지정된 소켓의 상태를 가져옵니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 콜백

    함수 선택사항

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

반환 값

  • Promise<SocketInfo>

    Chrome 91 이상

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

getSockets()

Promise
chrome.bluetoothSocket.getSockets(
  callback?: function,
)

애플리케이션이 소유한 현재 열려 있는 소켓의 목록을 가져옵니다.

매개변수

  • 콜백

    함수 선택사항

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

    (sockets: SocketInfo[]) => void

반환 값

  • Promise<SocketInfo[]>

    Chrome 91 이상

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

listenUsingL2cap()

Promise
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

L2CAP 프로토콜을 사용하여 연결을 리슨합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • uuid

    문자열

    리슨할 서비스 UUID입니다.

  • 옵션

    ListenOptions 선택사항

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

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • Promise<void>

    Chrome 91 이상

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

listenUsingRfcomm()

Promise
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

RFCOMM 프로토콜을 사용하여 연결을 리슨합니다.

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • uuid

    문자열

    리슨할 서비스 UUID입니다.

  • 옵션

    ListenOptions 선택사항

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

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • Promise<void>

    Chrome 91 이상

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

send()

Promise
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

  • 데이터

    ArrayBuffer

    전송할 데이터입니다.

  • 콜백

    함수 선택사항

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

    (bytesSent: number) => void

    • bytesSent

      숫자

      전송된 바이트 수입니다.

반환 값

  • Promise<number>

    Chrome 91 이상

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

setPaused()

Promise
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

  • 일시중지됨

    부울

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • Promise<void>

    Chrome 91 이상

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

update()

Promise
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

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

매개변수

  • socketId

    숫자

    소켓 식별자입니다.

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

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • Promise<void>

    Chrome 91 이상

    Promise는 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 이벤트가 발생하지 않습니다.

매개변수