chrome.socket

ब्यौरा

टीसीपी और यूडीपी कनेक्शन की मदद से नेटवर्क पर डेटा भेजने और पाने के लिए, chrome.socket एपीआई का इस्तेमाल करें. ध्यान दें: Chrome 33 और उसके बाद के वर्शन में, इस एपीआई का इस्तेमाल अब sockets.udp, sockets.tcp, और sockets.tcpServer एपीआई के लिए किया जा रहा है.

अनुमतियां

socket

टाइप

AcceptInfo

प्रॉपर्टी

  • resultCode

    संख्या

  • socketId

    नंबर वैकल्पिक

    स्वीकार की गई सॉकेट का आईडी.

CreateInfo

प्रॉपर्टी

  • socketId

    संख्या

    नए बनाए गए सॉकेट का आईडी.

CreateOptions

NetworkInterface

प्रॉपर्टी

  • पता

    स्ट्रिंग

    उपलब्ध आईपीवी4/6 पता.

  • नाम

    स्ट्रिंग

    अडैप्टर का नाम. *nix पर, यह आम तौर पर "auth0", "lo" वगैरह होगा.

  • prefixLength

    संख्या

    प्रीफ़िक्स की लंबाई

ReadInfo

प्रॉपर्टी

  • डेटा

    अरेबफ़र

  • resultCode

    संख्या

    पहले से मौजूद Read() कॉल से, searchCode का रिस्पॉन्स मिला.

RecvFromInfo

प्रॉपर्टी

  • पता

    स्ट्रिंग

    रिमोट मशीन का पता.

  • डेटा

    अरेबफ़र

  • पोर्ट

    संख्या

  • resultCode

    संख्या

    recvfrom() कॉल से मिला रिज़ल्टकोड.

SecureOptions

प्रॉपर्टी

SocketInfo

प्रॉपर्टी

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

    बूलियन

    दिया गया सॉकेट कनेक्ट है या नहीं.

    tcp सॉकेट के लिए, यह नीति सही बनी रहेगी. भले ही, रिमोट पीयर डिसकनेक्ट हो गया हो. सॉकेट को पढ़ने या लिखने के बाद कोई गड़बड़ी हो सकती है. इससे यह पता चलता है कि इस सॉकेट को disconnect() के ज़रिए डिसकनेक्ट किया जाना चाहिए.

    udp सॉकेट के लिए, यह सिर्फ़ यह दिखाता है कि पैकेट पढ़ने और लिखने के लिए, डिफ़ॉल्ट रिमोट पता बताया गया है या नहीं.

  • localAddress

    स्ट्रिंग ज़रूरी नहीं

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

  • localPort

    नंबर वैकल्पिक

    अगर दिया गया सॉकेट बाउंड या कनेक्ट है, तो उसका लोकल पोर्ट होता है.

  • peerAddress

    स्ट्रिंग ज़रूरी नहीं

    अगर मौजूदा सॉकेट कनेक्ट है, तो मिलते-जुलते ऐप्लिकेशन का IPv4/6 पता शामिल होता है.

  • peerPort

    नंबर वैकल्पिक

    अगर मौजूदा सॉकेट कनेक्ट है, तो इसमें कनेक्ट किए गए मिलते-जुलते ऐप्लिकेशन का पोर्ट शामिल होता है.

  • socketType

    पास की गई सॉकेट का टाइप. यह tcp या udp होगा.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

प्रॉपर्टी

  • अधिकतम

    स्ट्रिंग ज़रूरी नहीं

  • कम से कम

    स्ट्रिंग ज़रूरी नहीं

    TLS के स्वीकार किए जाने वाले कम से कम और ज़्यादा से ज़्यादा वर्शन. tls1.2 या tls1.3 का इस्तेमाल किया जा सकता है.

    tls1 और tls1.1 वैल्यू अब काम नहीं करतीं. अगर min को इनमें से किसी भी वैल्यू पर सेट किया गया है, तो उसे बिना किसी सूचना के tls1.2 के तौर पर सेट कर दिया जाएगा. अगर max को इनमें से किसी एक वैल्यू या किसी ऐसी वैल्यू पर सेट किया गया है जिसकी पहचान नहीं की जा सकी, तो उसे अनदेखा कर दिया जाएगा.

WriteInfo

प्रॉपर्टी

  • bytesWritten

    संख्या

    भेजे गए बाइट की संख्या या नेगेटिव गड़बड़ी कोड.

तरीके

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)

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

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • कॉलबैक

    फ़ंक्शन

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

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)

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

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • पता

    स्ट्रिंग

    लोकल मशीन का पता.

  • पोर्ट

    संख्या

    लोकल मशीन का पोर्ट.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)

सॉकेट को रिमोट मशीन से कनेक्ट करता है (tcp सॉकेट के लिए). udp सॉकेट के लिए, यह डिफ़ॉल्ट पता सेट करता है कि read() और write() कॉल के लिए पैकेट को कौनसे पैकेट भेजे जाते हैं और उनसे पढ़े जाते हैं.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • hostname

    स्ट्रिंग

    रिमोट मशीन का होस्टनेम या आईपी पता.

  • पोर्ट

    संख्या

    रिमोट मशीन का पोर्ट.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

create()

प्रॉमिस
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

तय टाइप की ऐसी सॉकेट बनाता है जो बताई गई रिमोट मशीन से कनेक्ट होगी.

पैरामीटर

  • टाइप

    बनाए जाने वाले सॉकेट का टाइप. tcp या udp होना चाहिए.

  • विकल्प

    CreateOptions ज़रूरी नहीं

    सॉकेट के विकल्प.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (createInfo: CreateInfo) => void

रिटर्न

  • Promise<CreateInfo>

    Chrome 121 और उसके बाद वाले वर्शन

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

destroy()

chrome.socket.destroy(
  socketId: number,
)

सॉकेट को नष्ट कर देता है. बनाई गई हर सॉकेट को, इस्तेमाल के बाद मिटा दिया जाना चाहिए.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

इससे सॉकेट डिसकनेक्ट हो जाता है. UDP सॉकेट के लिए, disconnect एक काम नहीं करता है, लेकिन कॉल करने में सुरक्षित है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

getInfo()

प्रॉमिस
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)

दिए गए सॉकेट की स्थिति को हासिल करता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (result: SocketInfo) => void

रिटर्न

  • Promise<SocketInfo>

    Chrome 121 और उसके बाद वाले वर्शन

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

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)

मल्टीकास्ट ग्रुप के वे पते पाएं जिनसे सॉकेट अभी जुड़ा है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • कॉलबैक

    फ़ंक्शन

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

    (groups: string[]) => void

    • समूह

      स्ट्रिंग[]

getNetworkList()

प्रॉमिस
chrome.socket.getNetworkList(
  callback?: function,
)

इस सिस्टम पर मौजूद लोकल अडैप्टर के बारे में जानकारी हासिल करता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (result: NetworkInterface[]) => void

रिटर्न

  • Promise<NetworkInterface[]>

    Chrome 121 और उसके बाद वाले वर्शन

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

मल्टीकास्ट ग्रुप में शामिल हों और उस ग्रुप से पैकेट पाना शुरू करें. सॉकेट UDP प्रकार का होना चाहिए और इस पद्धति को कॉल करने से पहले किसी स्थानीय पोर्ट से बाध्य होना चाहिए.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • पता

    स्ट्रिंग

    शामिल होने के लिए ग्रुप का पता. डोमेन नाम समर्थित नहीं हैं.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)

joinGroup का इस्तेमाल करके, पहले मल्टीकास्ट ग्रुप में शामिल हुए लोगों को छोड़ें. सॉकेट को नष्ट करने या उससे बाहर निकलने से पहले, मल्टीकास्ट ग्रुप को छोड़ने की ज़रूरत नहीं है. ओएस, इसे अपने-आप कॉल करता है.

ग्रुप छोड़ने पर, राऊटर स्थानीय होस्ट को मल्टीकास्ट डेटाग्राम नहीं भेज पाएगा. ऐसा होने पर, यह मानकर चलें कि होस्ट की कोई दूसरी प्रोसेस अब भी ग्रुप में शामिल नहीं है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • पता

    स्ट्रिंग

    छोड़ने के लिए ग्रुप का पता. डोमेन नाम समर्थित नहीं हैं.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)

यह तरीका सिर्फ़ टीसीपी सॉकेट पर लागू होता है. तय किए गए पोर्ट और पते पर कनेक्शन के लिए सुनता है. इससे यह सर्वर सॉकेट बन जाता है और क्लाइंट सॉकेट फ़ंक्शन (कनेक्ट करना, पढ़ना, लिखना) का इस्तेमाल अब इस सॉकेट पर नहीं किया जा सकता.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • पता

    स्ट्रिंग

    लोकल मशीन का पता.

  • पोर्ट

    संख्या

    लोकल मशीन का पोर्ट.

  • बैकलॉग

    नंबर वैकल्पिक

    सॉकेट की सुनने की सूची की अवधि.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

दी गई कनेक्ट की गई सॉकेट से डेटा को पढ़ता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • bufferSize

    नंबर वैकल्पिक

    रीड बफ़र का साइज़.

  • कॉलबैक

    फ़ंक्शन

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

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

यह दिए गए यूडीपी सॉकेट से डेटा हासिल करता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • bufferSize

    नंबर वैकल्पिक

    पाने का बफ़र साइज़.

  • कॉलबैक

    फ़ंक्शन

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

    (recvFromInfo: RecvFromInfo) => void

secure()

chrome.socket.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)

कनेक्ट किए गए टीसीपी क्लाइंट सॉकेट पर TLS क्लाइंट कनेक्शन शुरू करें.

पैरामीटर

  • socketId

    संख्या

    कनेक्ट किया गया सॉकेट, जिसका इस्तेमाल करना है.

  • विकल्प

    SecureOptions ज़रूरी नहीं

    TLS कनेक्शन के लिए कंस्ट्रेंट और पैरामीटर.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)

दिए गए यूडीपी सॉकेट पर दिए गए डेटा को दिए गए पते और पोर्ट पर भेजता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • डेटा

    अरेबफ़र

    लिखने के लिए डेटा.

  • पता

    स्ट्रिंग

    रिमोट मशीन का पता.

  • पोर्ट

    संख्या

    रिमोट मशीन का पोर्ट.

  • कॉलबैक

    फ़ंक्शन

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

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)

इससे टीसीपी कनेक्शन के लिए कीप-अलाइव की सुविधा को चालू या बंद किया जाता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • चालू करें

    बूलियन

    अगर सही हो, तो कीप-अलाइव की सुविधा को चालू करें.

  • विलंब

    नंबर वैकल्पिक

    मिले हुए आखिरी डेटा पैकेट और कीपअलाइव (चालू रखें) की पहली जांच के बीच की देरी को सेकंड के तौर पर सेट करें. डिफ़ॉल्ट संख्या 0 है.

  • कॉलबैक

    फ़ंक्शन

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

    (result: boolean) => void

    • नतीजा

      बूलियन

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

सेट करें कि होस्ट से मल्टीकास्ट ग्रुप को भेजे गए मल्टीकास्ट पैकेट, होस्ट पर वापस लूप किए जाएंगे या नहीं.

ध्यान दें: Windows और Unix जैसे सिस्टम के लिए setMulticastLoopbackMode के काम करने का तरीका थोड़ा अलग होता है. यह गड़बड़ी सिर्फ़ तब होती है, जब एक होस्ट पर एक से ज़्यादा ऐप्लिकेशन एक ही मल्टीकास्ट ग्रुप में शामिल होते हैं. साथ ही, मल्टीकास्ट लूपबैक मोड में अलग-अलग सेटिंग होती हैं. Windows पर, लूपबैक बंद वाले ऐप्लिकेशन लूपबैक पैकेट नहीं पा सकेंगे; यूनिक्स-जैसे सिस्टम पर होने पर, लूपबैक बंद वाले ऐप्लिकेशन, एक ही होस्ट पर मौजूद अन्य ऐप्लिकेशन को लूपबैक पैकेट नहीं भेजेंगे. एमएसडीएन देखें: http://goo.gl/6vqbj

इस तरीके को कॉल करने के लिए, मल्टीकास्ट की अनुमतियों की ज़रूरत नहीं है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • चालू किया गया

    बूलियन

    बताएं कि लूपबैक मोड चालू करना है या नहीं.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)

मल्टीकास्ट ग्रुप को भेजे गए मल्टीकास्ट पैकेट के लिए, टाइम-टू-लाइव डेटा सेट करें.

इस तरीके को कॉल करने के लिए, मल्टीकास्ट की अनुमतियों की ज़रूरत नहीं है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • टीटीएल

    संख्या

    लाइव जाने के कुल समय की वैल्यू.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

setNoDelay()

chrome.socket.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)

यह टीसीपी कनेक्शन के लिए, TCP_NODELAY को सेट करता है या हटाता है. TCP_NODELAY के सेट होने पर Nagle का एल्गोरिदम बंद हो जाएगा.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • noDelay

    बूलियन

    अगर सही है, तो Nagle का एल्गोरिदम बंद हो जाता है.

  • कॉलबैक

    फ़ंक्शन

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

    (result: boolean) => void

    • नतीजा

      बूलियन

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

दिए गए कनेक्ट किए गए सॉकेट पर डेटा लिखता है.

पैरामीटर

  • socketId

    संख्या

    सॉकेट आईडी.

  • डेटा

    अरेबफ़र

    लिखने के लिए डेटा.

  • कॉलबैक

    फ़ंक्शन

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

    (writeInfo: WriteInfo) => void