chrome.bluetoothSocket

ब्यौरा

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