คำอธิบาย
ใช้ chrome.bluetoothSocket API เพื่อส่งและรับข้อมูลไปยังอุปกรณ์บลูทูธโดยใช้การเชื่อมต่อ RFCOMM และ L2CAP
ไฟล์ Manifest
ประเภท
AcceptError
ค่าแจกแจง
"system_error" 
 เกิดข้อผิดพลาดของระบบและอาจกู้คืนการเชื่อมต่อไม่ได้
"not_listening" 
 ซ็อกเก็ตไม่ได้กำลังฟังอยู่
AcceptErrorInfo
พร็อพเพอร์ตี้
- 
    ข้อผิดพลาดรหัสข้อผิดพลาดที่ระบุว่าเกิดอะไรขึ้น 
- 
    errorMessageสตริง ข้อความแสดงข้อผิดพลาด 
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ตเซิร์ฟเวอร์ 
AcceptInfo
พร็อพเพอร์ตี้
- 
    clientSocketIdตัวเลข ตัวระบุซ็อกเก็ตไคลเอ็นต์ เช่น ตัวระบุซ็อกเก็ตของการเชื่อมต่อที่สร้างขึ้นใหม่ ควรใช้ตัวระบุซ็อกเก็ตนี้กับฟังก์ชันจากเนมสเปซ chrome.bluetoothSocketเท่านั้น โปรดทราบว่าซ็อกเก็ตไคลเอ็นต์จะหยุดชั่วคราวในตอนแรก และแอปพลิเคชันต้องยกเลิกการหยุดชั่วคราวอย่างชัดเจนเพื่อเริ่มรับข้อมูล
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ตเซิร์ฟเวอร์ 
CreateInfo
พร็อพเพอร์ตี้
- 
    socketIdตัวเลข รหัสของซ็อกเก็ตที่สร้างขึ้นใหม่ โปรดทราบว่ารหัสซ็อกเก็ตที่สร้างจาก API นี้ใช้ร่วมกับรหัสซ็อกเก็ตที่สร้างจาก API อื่นๆ ไม่ได้ เช่น API [sockets.tcp](../sockets_tcp/)
ListenOptions
พร็อพเพอร์ตี้
- 
    backlogหมายเลข ไม่บังคับ ความยาวของคิวการฟังของซ็อกเก็ต ค่าเริ่มต้นจะขึ้นอยู่กับระบบย่อยของโฮสต์ของระบบปฏิบัติการ 
- 
    ช่องหมายเลข ไม่บังคับ แชแนล RFCOMM ที่ใช้โดย listenUsingRfcommหากระบุไว้ ช่องนี้ต้องไม่เคยใช้งานมาก่อน มิฉะนั้นการเรียกเมธอดจะล้มเหลว หากไม่ได้ระบุไว้ ระบบจะจัดสรรช่องที่ไม่ได้ใช้โดยอัตโนมัติ
- 
    psmหมายเลข ไม่บังคับ L2CAP PSM ที่ใช้โดย listenUsingL2capหากระบุ PSM นี้ จะต้องไม่เคยมีการใช้งานมาก่อน มิฉะนั้นการเรียกเมธอดจะล้มเหลว หากไม่ได้ระบุไว้ ระบบจะจัดสรร PSM ที่ไม่ได้ใช้โดยอัตโนมัติ
ReceiveError
ค่าแจกแจง
"ยกเลิกการเชื่อมต่อ" 
 ระบบยกเลิกการเชื่อมต่อแล้ว
"system_error" 
 เกิดข้อผิดพลาดของระบบและอาจกู้คืนการเชื่อมต่อไม่ได้
"not_connected" 
 ยังไม่ได้เชื่อมต่อซ็อกเก็ต
ReceiveErrorInfo
พร็อพเพอร์ตี้
- 
    ข้อผิดพลาดรหัสข้อผิดพลาดที่ระบุว่าเกิดอะไรขึ้น 
- 
    errorMessageสตริง ข้อความแสดงข้อผิดพลาด 
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
ReceiveInfo
พร็อพเพอร์ตี้
- 
    เพิ่มเติมArrayBuffer ข้อมูลที่ได้รับมีขนาดสูงสุด bufferSize
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
SocketInfo
พร็อพเพอร์ตี้
- 
    ที่อยู่สตริง ไม่บังคับ หากซ็อกเก็ตพื้นฐานเชื่อมต่ออยู่ จะมีที่อยู่บลูทูธของอุปกรณ์ที่เชื่อมต่ออยู่ 
- 
    bufferSizeหมายเลข ไม่บังคับ ขนาดของบัฟเฟอร์ที่ใช้รับข้อมูล หากไม่ได้ระบุขนาดบัฟเฟอร์อย่างชัดเจน ระบบจะไม่ระบุค่า 
- 
    เชื่อมต่อแล้วบูลีน แฟล็กที่ระบุว่าซ็อกเก็ตเชื่อมต่อกับเพียร์ระยะไกลหรือไม่ 
- 
    ชื่อสตริง ไม่บังคับ สตริงที่แอปพลิเคชันกำหนดซึ่งเชื่อมโยงกับซ็อกเก็ต 
- 
    หยุดชั่วคราวบูลีน Flag ที่ระบุว่าซ็อกเก็ตที่เชื่อมต่อบล็อกไม่ให้เพียร์ส่งข้อมูลเพิ่มเติมหรือไม่ หรือคำขอการเชื่อมต่อในซ็อกเก็ตที่กำลังฟังจะส่งผ่านเหตุการณ์ onAcceptหรือจัดคิวในแบ็คล็อกของคิวการฟัง ดูsetPausedค่าเริ่มต้นคือ "false"
- 
    ต่อเนื่องบูลีน Flag ที่ระบุว่าซ็อกเก็ตจะยังเปิดอยู่หรือไม่เมื่อหน้าเหตุการณ์ของแอปพลิเคชันถูกยกเลิกการโหลด (ดู SocketProperties.persistent) ค่าเริ่มต้นคือ "false"
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
- 
    uuidสตริง ไม่บังคับ หากซ็อกเก็ตพื้นฐานเชื่อมต่ออยู่ จะมีข้อมูลเกี่ยวกับ UUID ของบริการที่เชื่อมต่ออยู่ ไม่เช่นนั้นหากซ็อกเก็ตพื้นฐานกำลังรอรับการเชื่อมต่อ จะมีข้อมูลเกี่ยวกับ UUID ของบริการที่กำลังรอรับการเชื่อมต่อ 
SocketProperties
พร็อพเพอร์ตี้
- 
    bufferSizeหมายเลข ไม่บังคับ ขนาดของบัฟเฟอร์ที่ใช้รับข้อมูล ค่าเริ่มต้นคือ 4096 
- 
    ชื่อสตริง ไม่บังคับ สตริงที่แอปพลิเคชันกำหนดซึ่งเชื่อมโยงกับซ็อกเก็ต 
- 
    ต่อเนื่องบูลีน ไม่บังคับ Flag ที่ระบุว่าซ็อกเก็ตจะเปิดทิ้งไว้หรือไม่เมื่อเลิกโหลดหน้ากิจกรรมของแอปพลิเคชัน (ดูจัดการวงจรแอป) ค่าเริ่มต้นคือ false.เมื่อโหลดแอปพลิเคชันแล้ว ระบบจะดึงข้อมูลซ็อกเก็ตที่เปิดไว้ก่อนหน้านี้ด้วย persistent=true ได้ด้วยgetSockets
เมธอด
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
): Promise<void>
ยกเลิกการเชื่อมต่อและทำลายซ็อกเก็ต ควรปิดซ็อกเก็ตแต่ละรายการที่สร้างขึ้นหลังการใช้งาน รหัสซ็อกเก็ตจะใช้ไม่ได้อีกต่อไปทันทีที่มีการเรียกใช้ฟังก์ชัน อย่างไรก็ตาม เรารับประกันว่าจะปิดซ็อกเก็ตเมื่อเรียกใช้การเรียกกลับเท่านั้น
พารามิเตอร์
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้() => void 
การคืนสินค้า
- 
            Promise<void> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
): Promise<void>
เชื่อมต่อซ็อกเก็ตกับอุปกรณ์บลูทูธระยะไกล เมื่อconnectการดำเนินการเสร็จสมบูรณ์onReceive ระบบจะสร้างเหตุการณ์เมื่อได้รับข้อมูลจากเพียร์ หากเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายขณะรันไทม์รับแพ็กเก็ต ระบบจะเรียกใช้เหตุการณ์ onReceiveError และจะไม่มีการเรียกใช้เหตุการณ์ onReceive สำหรับซ็อกเก็ตนี้อีกจนกว่าจะมีการเรียกใช้เมธอด setPaused(false)
พารามิเตอร์
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
- 
    ที่อยู่สตริง ที่อยู่อุปกรณ์บลูทูธ 
- 
    uuidสตริง UUID ของบริการที่จะเชื่อมต่อ 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้() => void 
การคืนสินค้า
- 
            Promise<void> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
สร้างซ็อกเก็ตบลูทูธ
พารามิเตอร์
- 
    พร็อพเพอร์ตี้SocketProperties ไม่บังคับ พร็อพเพอร์ตี้ของซ็อกเก็ต (ไม่บังคับ) 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้(createInfo: CreateInfo) => void - 
    createInfoผลลัพธ์ของการสร้างซ็อกเก็ต 
 
- 
    
การคืนสินค้า
- 
            Promise<CreateInfo> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
): Promise<void>
ยกเลิกการเชื่อมต่อซ็อกเก็ต ตัวระบุซ็อกเก็ตจะยังคงใช้ได้
พารามิเตอร์
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้() => void 
การคืนสินค้า
- 
            Promise<void> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
ดึงข้อมูลสถานะของซ็อกเก็ตที่ระบุ
พารามิเตอร์
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้(socketInfo: SocketInfo) => void - 
    socketInfoออบเจ็กต์ที่มีข้อมูลซ็อกเก็ต 
 
- 
    
การคืนสินค้า
- 
            Promise<SocketInfo> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
): Promise<SocketInfo[]>
ดึงข้อมูลรายการซ็อกเก็ตที่แอปพลิเคชันเป็นเจ้าของและเปิดอยู่ในปัจจุบัน
พารามิเตอร์
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้(sockets: SocketInfo[]) => void - 
    ซ็อกเก็ต
 
- 
    
การคืนสินค้า
- 
            Promise<SocketInfo[]> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
รอการเชื่อมต่อโดยใช้โปรโตคอล L2CAP
พารามิเตอร์
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
- 
    uuidสตริง UUID ของบริการที่จะใช้ฟัง 
- 
    ตัวเลือกListenOptions ไม่บังคับ ตัวเลือกเพิ่มเติมสำหรับบริการ (ไม่บังคับ) 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้() => void 
การคืนสินค้า
- 
            Promise<void> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
รอการเชื่อมต่อโดยใช้โปรโตคอล RFCOMM
พารามิเตอร์
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
- 
    uuidสตริง UUID ของบริการที่จะใช้ฟัง 
- 
    ตัวเลือกListenOptions ไม่บังคับ ตัวเลือกเพิ่มเติมสำหรับบริการ (ไม่บังคับ) 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้() => void 
การคืนสินค้า
- 
            Promise<void> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
): Promise<number>
ส่งข้อมูลในซ็อกเก็ตบลูทูธที่ระบุ
พารามิเตอร์
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
- 
    เพิ่มเติมArrayBuffer ข้อมูลที่จะส่ง 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้(bytesSent: number) => void - 
    bytesSentตัวเลข จำนวนไบต์ที่ส่ง 
 
- 
    
การคืนสินค้า
- 
            Promise<number> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
เปิดหรือปิดซ็อกเก็ตที่เชื่อมต่อไม่ให้รับข้อความจากเพียร์ หรือปิดซ็อกเก็ตที่กำลังฟังไม่ให้ยอมรับการเชื่อมต่อใหม่ ค่าเริ่มต้นคือ "false" โดยปกติแล้ว แอปพลิเคชันจะใช้การหยุดซ็อกเก็ตที่เชื่อมต่อชั่วคราวเพื่อควบคุมปริมาณข้อมูลที่ส่งโดยเพียร์ เมื่อหยุดซ็อกเก็ตที่เชื่อมต่อไว้ชั่วคราว ระบบจะไม่เรียกใช้onReceiveevent เมื่อเชื่อมต่อและเลิกหยุดซ็อกเก็ตชั่วคราว ระบบจะเรียกใช้เหตุการณ์ onReceive อีกครั้งเมื่อได้รับข้อความ เมื่อหยุดซ็อกเก็ตการฟังชั่วคราว ระบบจะยอมรับการเชื่อมต่อใหม่จนกว่าแบ็คล็อกจะเต็ม จากนั้นจะปฏิเสธคำขอการเชื่อมต่อเพิ่มเติม onAccept จะเกิดขึ้นเมื่อเลิกหยุดซ็อกเก็ตชั่วคราวเท่านั้น
พารามิเตอร์
- 
    socketIdตัวเลข 
- 
    หยุดชั่วคราวบูลีน 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้() => void 
การคืนสินค้า
- 
            Promise<void> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
อัปเดตพร็อพเพอร์ตี้ของซ็อกเก็ต
พารามิเตอร์
- 
    socketIdตัวเลข ตัวระบุซ็อกเก็ต 
- 
    พร็อพเพอร์ตี้พร็อพเพอร์ตี้ที่จะอัปเดต 
- 
    callbackฟังก์ชัน ไม่บังคับ พารามิเตอร์ callbackมีลักษณะดังนี้() => void 
การคืนสินค้า
- 
            Promise<void> Chrome 91 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ 
กิจกรรม
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่อมีการสร้างการเชื่อมต่อสำหรับซ็อกเก็ตที่ระบุ
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(info: AcceptInfo) => void - 
    ข้อมูล
 
- 
    
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่อเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายขณะรันไทม์รอการเชื่อมต่อใหม่ในซ็อกเก็ตที่ระบุ เมื่อเกิดเหตุการณ์นี้ ระบบจะตั้งค่าซ็อกเก็ตเป็น paused และจะไม่เกิดเหตุการณ์ onAccept สำหรับซ็อกเก็ตนี้อีก
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(info: AcceptErrorInfo) => void - 
    ข้อมูล
 
- 
    
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่อได้รับข้อมูลสำหรับซ็อกเก็ตที่ระบุ
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(info: ReceiveInfo) => void - 
    ข้อมูล
 
- 
    
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่อเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายขณะรันไทม์รอข้อมูลในซ็อกเก็ต เมื่อเกิดเหตุการณ์นี้ ระบบจะตั้งค่าซ็อกเก็ตเป็น paused และจะไม่เกิดเหตุการณ์ onReceive สำหรับซ็อกเก็ตนี้อีก
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(info: ReceiveErrorInfo) => void - 
    ข้อมูล
 
-