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