ब्यौरा
RFCOMM और L2CAP कनेक्शन का इस्तेमाल करके, ब्लूटूथ डिवाइसों पर डेटा भेजने और पाने के लिए, chrome.bluetoothSocket
API का इस्तेमाल करें.
मेनिफ़ेस्ट
इस एपीआई का इस्तेमाल करने के लिए, नीचे दी गई कुंजियों को मेनिफ़ेस्ट में एलान करना ज़रूरी है.
"bluetooth"
टाइप
AcceptError
Enum
"system_error"
सिस्टम में कोई गड़बड़ी हुई और हो सकता है कि कनेक्शन वापस न आ पाए.
"not_listening"
सॉकेट सुन नहीं रहा है.
AcceptErrorInfo
प्रॉपर्टी
-
गड़बड़ी
गड़बड़ी का कोड, जो बताता है कि क्या गड़बड़ी हुई है.
-
errorMessage
स्ट्रिंग
गड़बड़ी का मैसेज.
-
socketId
संख्या
सर्वर सॉकेट आइडेंटिफ़ायर.
AcceptInfo
प्रॉपर्टी
-
clientSocketId
संख्या
क्लाइंट सॉकेट आइडेंटिफ़ायर, यानी कि नए कनेक्शन का सॉकेट आइडेंटिफ़ायर. इस सॉकेट आइडेंटिफ़ायर का इस्तेमाल सिर्फ़
chrome.bluetoothSocket
नेमस्पेस के फ़ंक्शन के साथ किया जाना चाहिए. ध्यान दें कि क्लाइंट सॉकेट शुरू में रोका जाता है. डेटा पाने के लिए, ऐप्लिकेशन को साफ़ तौर पर इसे अन-रोकना होगा. -
socketId
संख्या
सर्वर सॉकेट आइडेंटिफ़ायर.
CreateInfo
प्रॉपर्टी
-
socketId
संख्या
नए बनाए गए सॉकेट का आईडी. ध्यान दें कि इस एपीआई से बनाए गए सॉकेट आईडी, अन्य एपीआई से बनाए गए सॉकेट आईडी के साथ काम नहीं करते. जैसे,
[
sockets.tcp](../sockets_tcp/)
एपीआई.
ListenOptions
प्रॉपर्टी
-
बैकलॉग
number ज़रूरी नहीं
सॉकेट की सुनने की सूची की लंबाई. डिफ़ॉल्ट वैल्यू, ऑपरेटिंग सिस्टम के होस्ट सबसिस्टम पर निर्भर करती है.
-
चैनल
number ज़रूरी नहीं
listenUsingRfcomm
का इस्तेमाल किया जाने वाला RFCOMM चैनल. अगर यह चैनल पहले से इस्तेमाल में है, तो यह तरीका काम नहीं करेगा. अगर कोई चैनल नहीं चुना जाता है, तो कोई ऐसा चैनल अपने-आप असाइन हो जाएगा जिसका इस्तेमाल नहीं किया जा रहा है. -
psm
number ज़रूरी नहीं
listenUsingL2cap
का इस्तेमाल किया जाने वाला L2CAP PSM. अगर यह तय किया गया है, तो यह ज़रूरी है कि इस PSM का इस्तेमाल पहले न किया गया हो. ऐसा न होने पर, कॉल करने का तरीका काम नहीं करेगा. अगर कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल नहीं किया गया कोई PSM अपने-आप असाइन हो जाएगा.
ReceiveError
Enum
"डिसकनेक्ट हो गया"
कनेक्शन डिसकनेक्ट हो गया.
"system_error"
सिस्टम में कोई गड़बड़ी हुई और हो सकता है कि कनेक्शन वापस न आ पाए.
"not_connected"
सॉकेट कनेक्ट नहीं हुआ है.
ReceiveErrorInfo
प्रॉपर्टी
-
गड़बड़ी
गड़बड़ी का कोड, जो बताता है कि क्या गड़बड़ी हुई है.
-
errorMessage
स्ट्रिंग
गड़बड़ी का मैसेज.
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
ReceiveInfo
प्रॉपर्टी
-
डेटा
ArrayBuffer
bufferSize
तक का डेटा. -
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
SocketInfo
प्रॉपर्टी
-
पता
स्ट्रिंग ज़रूरी नहीं है
अगर सोकेट कनेक्ट है, तो उसमें उस डिवाइस का ब्लूटूथ पता होता है जिससे वह कनेक्ट है.
-
bufferSize
number ज़रूरी नहीं
डेटा पाने के लिए इस्तेमाल किए जाने वाले बफ़र का साइज़. अगर बफ़र साइज़ के लिए कोई वैल्यू नहीं दी गई है, तो वैल्यू नहीं दी जाती.
-
कनेक्ट किया गया
बूलियन
यह फ़्लैग बताता है कि सॉकेट, रिमोट पीयर से कनेक्ट है या नहीं.
-
नाम
स्ट्रिंग ज़रूरी नहीं है
सॉकेट से जुड़ी, ऐप्लिकेशन से तय की गई स्ट्रिंग.
-
रोका गया
बूलियन
यह फ़्लैग बताता है कि कनेक्ट किया गया सॉकेट, अपने पीयर को ज़्यादा डेटा भेजने से रोकता है या नहीं. इसके अलावा, यह भी बताता है कि सुनने वाले सॉकेट पर कनेक्शन के अनुरोध,
onAccept
इवेंट के ज़रिए भेजे जाते हैं या सुनने की सूची के बैकलॉग में लाइन में लगाए जाते हैं.setPaused
देखें. इसकी डिफ़ॉल्ट वैल्यू "गलत" होती है. -
अनवरत
बूलियन
यह फ़्लैग बताता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं (
SocketProperties.persistent
देखें). इसकी डिफ़ॉल्ट वैल्यू "गलत" है. -
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
यूयूआईडी
स्ट्रिंग ज़रूरी नहीं है
अगर सोकेट कनेक्ट है, तो इसमें उस सेवा के यूयूआईडी की जानकारी होती है जिससे वह कनेक्ट है. अगर सोकेट सुन रहा है, तो इसमें उस सेवा के यूयूआईडी की जानकारी होती है जिससे वह सुन रहा है.
SocketProperties
प्रॉपर्टी
-
bufferSize
number ज़रूरी नहीं
डेटा पाने के लिए इस्तेमाल किए जाने वाले बफ़र का साइज़. डिफ़ॉल्ट वैल्यू 4096 है.
-
नाम
स्ट्रिंग ज़रूरी नहीं है
सॉकेट से जुड़ी, ऐप्लिकेशन से तय की गई स्ट्रिंग.
-
अनवरत
बूलियन ज़रूरी नहीं है
यह फ़्लैग बताता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं. ज़्यादा जानकारी के लिए, ऐप्लिकेशन का लाइफ़साइकल मैनेज करना लेख पढ़ें. डिफ़ॉल्ट वैल्यू
false.
है. ऐप्लिकेशन लोड होने पर, पहले से persistent=true के साथ खोले गए किसी भी सॉकेट कोgetSockets
से फ़ेच किया जा सकता है.
तरीके
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
यह सॉकेट को डिसकनेक्ट कर देता है और उसे मिटा देता है. इस्तेमाल के बाद, हर सॉकेट को बंद कर देना चाहिए. फ़ंक्शन के कॉल होने के बाद, सॉकेट आईडी अमान्य हो जाता है. हालांकि, यह पक्का नहीं किया जा सकता कि कॉलबैक का इस्तेमाल होने पर ही सॉकेट बंद हो जाएगा.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
)
यह सॉकेट को किसी रिमोट ब्लूटूथ डिवाइस से कनेक्ट करता है. connect
ऑपरेशन पूरा होने पर, पीयर से डेटा मिलने पर onReceive
इवेंट जनरेट होते हैं. अगर रनटाइम के दौरान पैकेट मिलते समय कोई नेटवर्क गड़बड़ी होती है, तो onReceiveError
इवेंट जनरेट होता है. इसके बाद, setPaused(false)
तरीके को कॉल किए जाने तक इस सॉकेट के लिए कोई और onReceive
इवेंट जनरेट नहीं होगा.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
पता
स्ट्रिंग
ब्लूटूथ डिवाइस का पता.
-
यूयूआईडी
स्ट्रिंग
उस सेवा का यूनीक आइडेंटिफ़ायर जिससे कनेक्ट करना है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
ब्लूटूथ सॉकेट बनाता है.
पैरामीटर
-
प्रॉपर्टी
SocketProperties ज़रूरी नहीं है
सॉकेट प्रॉपर्टी (ज़रूरी नहीं).
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(createInfo: CreateInfo) => void
-
createInfo
सॉकेट बनाने का नतीजा.
-
रिटर्न
-
Promise<CreateInfo>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
सॉकेट को डिसकनेक्ट करता है. सॉकेट आइडेंटिफ़ायर मान्य रहता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
दिए गए सॉकेट की स्थिति दिखाता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(socketInfo: SocketInfo) => void
-
socketInfo
सॉकेट की जानकारी वाला ऑब्जेक्ट.
-
रिटर्न
-
Promise<SocketInfo>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
)
ऐप्लिकेशन के मालिकाना हक वाली, फ़िलहाल खुली हुई सॉकेट की सूची दिखाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(sockets: SocketInfo[]) => void
-
सॉकेट
-
रिटर्न
-
Promise<SocketInfo[]>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
L2CAP प्रोटोकॉल का इस्तेमाल करके कनेक्शन सुनें.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
यूयूआईडी
स्ट्रिंग
जिस सेवा पर सुनना है उसका यूनीक आइडेंटिफ़ायर (यूयूआईडी).
-
विकल्प
ListenOptions ज़रूरी नहीं
सेवा के लिए अन्य विकल्प (ज़रूरी नहीं).
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
RFCOMM प्रोटोकॉल का इस्तेमाल करके कनेक्शन सुनें.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
यूयूआईडी
स्ट्रिंग
जिस सेवा पर सुनना है उसका यूनीक आइडेंटिफ़ायर (यूयूआईडी).
-
विकल्प
ListenOptions ज़रूरी नहीं
सेवा के लिए अन्य विकल्प (ज़रूरी नहीं).
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
)
दिए गए ब्लूटूथ सॉकेट पर डेटा भेजता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
डेटा
ArrayBuffer
भेजा जाने वाला डेटा.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(bytesSent: number) => void
-
bytesSent
संख्या
भेजे गए बाइट की संख्या.
-
रिटर्न
-
Promise<number>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
यह किसी कनेक्टेड सॉकेट को उसके पीयर से मैसेज पाने की सुविधा चालू या बंद करता है. इसके अलावा, यह किसी सुनने वाले सॉकेट को नए कनेक्शन स्वीकार करने की सुविधा चालू या बंद करता है. इसकी डिफ़ॉल्ट वैल्यू "गलत" होती है. आम तौर पर, किसी ऐप्लिकेशन में कनेक्टेड सॉकेट को रोकने का इस्तेमाल, अपने पीयर से भेजे गए डेटा को कम करने के लिए किया जाता है. कनेक्ट किए गए किसी सॉकेट को रोकने पर, कोई onReceive
इवेंट ट्रिगर नहीं होता. जब कोई सॉकेट कनेक्ट हो जाता है और उसे रोकने की सुविधा बंद कर दी जाती है, तो मैसेज मिलने पर onReceive
इवेंट फिर से ट्रिगर होते हैं. जब किसी सुनने वाले सॉकेट को रोका जाता है, तो नए कनेक्शन तब तक स्वीकार किए जाते हैं, जब तक उसका बैकलॉग पूरा नहीं हो जाता. इसके बाद, कनेक्शन के अतिरिक्त अनुरोधों को अस्वीकार कर दिया जाता है. onAccept
इवेंट सिर्फ़ तब ट्रिगर होते हैं, जब सॉकेट को रोकने की सुविधा बंद की जाती है.
पैरामीटर
-
socketId
संख्या
-
रोका गया
बूलियन
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
सॉकेट प्रॉपर्टी को अपडेट करता है.
पैरामीटर
-
socketId
संख्या
सॉकेट आइडेंटिफ़ायर.
-
प्रॉपर्टी
अपडेट की जाने वाली प्रॉपर्टी.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 91 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
इवेंट
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
किसी सोकेट के लिए कनेक्शन सेट अप होने पर होने वाला इवेंट.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(info: AcceptInfo) => void
-
जानकारी
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
जब रनटाइम, दिए गए सॉकेट पर नए कनेक्शन का इंतज़ार कर रहा था, तब नेटवर्क में गड़बड़ी होने पर यह इवेंट ट्रिगर होता है. यह इवेंट होने के बाद, सॉकेट को paused
पर सेट कर दिया जाता है और इस सॉकेट के लिए कोई और onAccept
इवेंट नहीं जनरेट होता.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(info: AcceptErrorInfo) => void
-
जानकारी
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
किसी सोकेट के लिए डेटा मिलने पर इवेंट ट्रिगर होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(info: ReceiveInfo) => void
-
जानकारी
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
जब रनटाइम, सॉकेट पर डेटा का इंतज़ार कर रहा था, तब नेटवर्क से जुड़ी गड़बड़ी होने पर यह इवेंट ट्रिगर होता है. यह इवेंट होने के बाद, सॉकेट को paused
पर सेट कर दिया जाता है और इस सॉकेट के लिए कोई और onReceive
इवेंट नहीं जनरेट होता.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(info: ReceiveErrorInfo) => void
-
जानकारी
-