chrome.bluetoothSocket

ब्यौरा

RFCOMM और L2CAP कनेक्शन का इस्तेमाल करके, ब्लूटूथ डिवाइसों को डेटा भेजने और उनसे डेटा पाने के लिए, chrome.bluetoothSocket API का इस्तेमाल करें.

उपलब्धता

सिर्फ़ ChromeOS के लिए

मेनिफ़ेस्ट

इस एपीआई का इस्तेमाल करने के लिए, इन कुंजियों को मेनिफ़ेस्ट फ़ाइल में शामिल करना ज़रूरी है.

"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

प्रॉपर्टी

  • पता

    string ज़रूरी नहीं है

    अगर सॉकेट कनेक्ट है, तो इसमें उस डिवाइस का ब्लूटूथ पता होता है जिससे यह कनेक्ट है.

  • bufferSize

    number ज़रूरी नहीं

    डेटा पाने के लिए इस्तेमाल किए गए बफ़र का साइज़. अगर बफ़र साइज़ के बारे में साफ़ तौर पर नहीं बताया गया है, तो वैल्यू नहीं दी जाती है.

  • कनेक्ट किया गया

    बूलियन

    इस फ़्लैग से पता चलता है कि सॉकेट, रिमोट पीयर से कनेक्ट है या नहीं.

  • नाम

    string ज़रूरी नहीं है

    सॉकेट से जुड़ी, ऐप्लिकेशन के हिसाब से तय की गई स्ट्रिंग.

  • रोका गया

    बूलियन

    यह फ़्लैग दिखाता है कि कनेक्ट किया गया सॉकेट, अपने पीयर को ज़्यादा डेटा भेजने से रोकता है या नहीं. इसके अलावा, यह भी दिखाता है कि लिसनिंग सॉकेट पर कनेक्शन के अनुरोध, onAccept इवेंट के ज़रिए भेजे जाते हैं या लिसन क्यू बैकलॉग में कतार में लगाए जाते हैं. setPaused देखें. डिफ़ॉल्ट वैल्यू "false" होती है.

  • अनवरत

    बूलियन

    यह फ़्लैग दिखाता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं (SocketProperties.persistent देखें). डिफ़ॉल्ट वैल्यू "false" है.

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • uuid

    string ज़रूरी नहीं है

    अगर सॉकेट कनेक्ट है, तो इसमें उस सेवा के यूयूआईडी के बारे में जानकारी होती है जिससे यह कनेक्ट है. अगर सॉकेट लिसन कर रहा है, तो इसमें उस सेवा के यूयूआईडी के बारे में जानकारी होती है जिस पर यह लिसन कर रहा है.

SocketProperties

प्रॉपर्टी

  • bufferSize

    number ज़रूरी नहीं

    डेटा पाने के लिए इस्तेमाल किए गए बफ़र का साइज़. डिफ़ॉल्ट वैल्यू 4096 है.

  • नाम

    string ज़रूरी नहीं है

    ऐप्लिकेशन के हिसाब से तय की गई स्ट्रिंग, जो सॉकेट से जुड़ी होती है.

  • अनवरत

    boolean optional

    यह फ़्लैग दिखाता है कि ऐप्लिकेशन का इवेंट पेज अनलोड होने पर, सॉकेट खुला रहता है या नहीं. इसके बारे में जानने के लिए, ऐप्लिकेशन के लाइफ़साइकल को मैनेज करना लेख पढ़ें. डिफ़ॉल्ट वैल्यू false. होती है. ऐप्लिकेशन लोड होने पर, persistent=true के साथ पहले से खुले हुए किसी भी सॉकेट को getSockets की मदद से फ़ेच किया जा सकता है.

तरीके

close()

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

यह सॉकेट को डिसकनेक्ट करता है और उसे मिटा देता है. इस्तेमाल के बाद, बनाए गए हर सॉकेट को बंद कर देना चाहिए. फ़ंक्शन को कॉल करने के तुरंत बाद, सॉकेट आईडी मान्य नहीं रहता. हालांकि, सॉकेट बंद होने की गारंटी सिर्फ़ तब दी जाती है, जब कॉलबैक शुरू किया जाता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

connect()

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

यह सॉकेट को किसी रिमोट ब्लूटूथ डिवाइस से कनेक्ट करता है. connect ऑपरेशन पूरा होने पर, जब पियर से डेटा मिलता है, तब onReceive इवेंट ट्रिगर होते हैं. अगर रनटाइम को पैकेट मिलते समय कोई नेटवर्क गड़बड़ी होती है, तो onReceiveError इवेंट ट्रिगर होता है. इसके बाद, इस सॉकेट के लिए कोई और onReceiveError इवेंट ट्रिगर नहीं होगा. ऐसा तब तक होगा, जब तक setPaused(false) तरीके को कॉल नहीं किया जाता.onReceive

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • पता

    स्ट्रिंग

    ब्लूटूथ डिवाइस का पता.

  • uuid

    स्ट्रिंग

    उस सेवा का यूयूआईडी जिससे कनेक्ट करना है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

create()

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

यह कुकी, ब्लूटूथ सॉकेट बनाती है.

पैरामीटर

  • प्रॉपर्टी

    सॉकेट की प्रॉपर्टी (ज़रूरी नहीं).

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (createInfo: CreateInfo) => void

    • createInfo

      सॉकेट बनाने का नतीजा.

रिटर्न

  • Promise<CreateInfo>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

disconnect()

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

यह सॉकेट को डिसकनेक्ट करता है. सॉकेट आइडेंटिफ़ायर मान्य रहता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getInfo()

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

यह फ़ंक्शन, दिए गए सॉकेट की स्थिति को वापस लाता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (socketInfo: SocketInfo) => void

    • socketInfo

      सॉकेट की जानकारी देने वाला ऑब्जेक्ट.

रिटर्न

  • Promise<SocketInfo>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getSockets()

Promise
chrome.bluetoothSocket.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

यह ऐप्लिकेशन के मालिकाना हक वाले, फ़िलहाल खुले हुए सॉकेट की सूची को वापस लाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (sockets: SocketInfo[]) => void

    • सॉकेट

      सॉकेट की जानकारी देने वाले ऑब्जेक्ट का कलेक्शन.

रिटर्न

  • Promise<SocketInfo[]>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

listenUsingL2cap()

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

L2CAP प्रोटोकॉल का इस्तेमाल करके कनेक्शन के लिए सुनें.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • uuid

    स्ट्रिंग

    वह सेवा यूयूआईडी जिस पर सुनना है.

  • विकल्प

    ListenOptions optional

    सेवा के लिए अन्य विकल्प (ज़रूरी नहीं).

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

listenUsingRfcomm()

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

RFCOMM प्रोटोकॉल का इस्तेमाल करके कनेक्शन के लिए सुनें.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • uuid

    स्ट्रिंग

    वह सेवा यूयूआईडी जिस पर सुनना है.

  • विकल्प

    ListenOptions optional

    सेवा के लिए अन्य विकल्प (ज़रूरी नहीं).

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

send()

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

यह दिए गए ब्लूटूथ सॉकेट पर डेटा भेजता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आइडेंटिफ़ायर.

  • डेटा

    ArrayBuffer

    भेजा जाने वाला डेटा.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (bytesSent: number) => void

    • bytesSent

      संख्या

      भेजे गए बाइट की संख्या.

रिटर्न

  • Promise<number>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

setPaused()

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

इस विकल्प की मदद से, कनेक्ट किए गए सॉकेट को उसके पीयर से मैसेज पाने की अनुमति दी जा सकती है या उसे ऐसा करने से रोका जा सकता है. इसके अलावा, लिसनिंग सॉकेट को नए कनेक्शन स्वीकार करने की अनुमति दी जा सकती है या उसे ऐसा करने से रोका जा सकता है. डिफ़ॉल्ट वैल्यू "false" होती है. कनेक्ट किए गए सॉकेट को रोकने की सुविधा का इस्तेमाल आम तौर पर कोई ऐप्लिकेशन, अपने साथी ऐप्लिकेशन से भेजे गए डेटा को थ्रॉटल करने के लिए करता है. कनेक्ट किए गए सॉकेट को रोकने पर, कोई onReceiveइवेंट ट्रिगर नहीं होता. जब कोई सॉकेट कनेक्ट होता है और उसे अन-पॉज़ किया जाता है, तो मैसेज मिलने पर onReceive इवेंट फिर से शुरू हो जाते हैं. जब किसी लिसनिंग सॉकेट को रोका जाता है, तब नए कनेक्शन तब तक स्वीकार किए जाते हैं, जब तक उसका बैकलॉग पूरा नहीं हो जाता. इसके बाद, कनेक्शन के अतिरिक्त अनुरोधों को अस्वीकार कर दिया जाता है. onAccept इवेंट सिर्फ़ तब ट्रिगर होते हैं, जब सॉकेट को अन-पॉज़ किया जाता है.

पैरामीटर

  • socketId

    संख्या

  • रोका गया

    बूलियन

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 91 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

update()

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

सॉकेट की प्रॉपर्टी अपडेट करता है.

पैरामीटर

  • 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