chrome.socket

ब्यौरा

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

अनुमतियां

socket

टाइप

AcceptInfo

प्रॉपर्टी

  • resultCode

    संख्या

  • socketId

    number ज़रूरी नहीं

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

CreateInfo

प्रॉपर्टी

  • socketId

    संख्या

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

CreateOptions

NetworkInterface

प्रॉपर्टी

  • पता

    स्ट्रिंग

    उपलब्ध IPv4/6 पता.

  • नाम

    स्ट्रिंग

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

  • prefixLength

    संख्या

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

ReadInfo

प्रॉपर्टी

  • डेटा

    ArrayBuffer

  • resultCode

    संख्या

    read() कॉल से मिला resultCode.

RecvFromInfo

प्रॉपर्टी

  • पता

    स्ट्रिंग

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

  • डेटा

    ArrayBuffer

  • पोर्ट

    संख्या

  • resultCode

    संख्या

    recvfrom() कॉल से मिला resultCode.

SecureOptions

प्रॉपर्टी

SocketInfo

प्रॉपर्टी

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

    बूलियन

    इससे पता चलता है कि सॉकेट कनेक्ट है या नहीं.

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

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

  • localAddress

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

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

  • localPort

    number ज़रूरी नहीं

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

  • peerAddress

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

    अगर सॉकेट कनेक्ट है, तो इसमें पियर का IPv4/6 पता होता है.

  • peerPort

    number ज़रूरी नहीं

    अगर सॉकेट कनेक्ट है, तो इसमें कनेक्ट किए गए पीयर का पोर्ट होता है.

  • socketType

    पास किए गए सॉकेट का टाइप. यह tcp या udp होगा.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

प्रॉपर्टी

  • अधिकतम

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

  • कम से कम

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

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

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

WriteInfo

प्रॉपर्टी

  • bytesWritten

    संख्या

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

तरीके

accept()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • कॉलबैक

    फ़ंक्शन

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

    (acceptInfo: AcceptInfo) => void

bind()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • पता

    स्ट्रिंग

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

  • पोर्ट

    संख्या

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

connect()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • hostname

    स्ट्रिंग

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

  • पोर्ट

    संख्या

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

create()

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

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

पैरामीटर

  • टाइप

    किस तरह का सॉकेट बनाना है. यह ज़रूरी है कि वैल्यू tcp या udp हो.

  • विकल्प

    CreateOptions optional

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

  • कॉलबैक

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

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

    (createInfo: CreateInfo) => void

रिटर्न

  • Promise<CreateInfo>

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

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

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

यह सॉकेट को बंद कर देता है. बनाए गए हर सॉकेट का इस्तेमाल करने के बाद उसे डिस्ट्रॉय कर देना चाहिए.

पैरामीटर

  • socketId

    संख्या

    socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

यह सॉकेट को डिसकनेक्ट करता है. यूडीपी सॉकेट के लिए, disconnect कोई कार्रवाई नहीं करता, लेकिन इसे कॉल करना सुरक्षित है.

पैरामीटर

  • socketId

    संख्या

    socketId.

getInfo()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • कॉलबैक

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

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

    (result: SocketInfo) => void

रिटर्न

  • Promise<SocketInfo>

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

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

getJoinedGroups()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • कॉलबैक

    फ़ंक्शन

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

    (groups: string[]) => void

    • समूह

      string[]

getNetworkList()

प्रॉमिस
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

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

पैरामीटर

  • कॉलबैक

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

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

    (result: NetworkInterface[]) => void

रिटर्न

  • Promise<NetworkInterface[]>

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

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

joinGroup()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • पता

    स्ट्रिंग

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

leaveGroup()

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

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

ग्रुप छोड़ने पर, राउटर लोकल होस्ट को मल्टीकास्ट डेटाग्राम नहीं भेजेगा. हालांकि, ऐसा तब होगा, जब होस्ट पर कोई दूसरी प्रोसेस अब भी ग्रुप से जुड़ी न हो.

पैरामीटर

  • socketId

    संख्या

    socketId.

  • पता

    स्ट्रिंग

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

listen()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • पता

    स्ट्रिंग

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

  • पोर्ट

    संख्या

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

  • backlog

    number ज़रूरी नहीं

    सॉकेट की लिसन क्यू की लंबाई.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

read()

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

यह कुकी, कनेक्ट किए गए सॉकेट से डेटा पढ़ती है.

पैरामीटर

  • socketId

    संख्या

    socketId.

  • bufferSize

    number ज़रूरी नहीं

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

  • कॉलबैक

    फ़ंक्शन

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

    (readInfo: ReadInfo) => void

recvFrom()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • bufferSize

    number ज़रूरी नहीं

    रिसीव बफ़र का साइज़.

  • कॉलबैक

    फ़ंक्शन

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

    (recvFromInfo: RecvFromInfo) => void

secure()

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

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

पैरामीटर

  • socketId

    संख्या

    इस्तेमाल करने के लिए कनेक्ट किया गया सॉकेट.

  • विकल्प

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

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

sendTo()

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

यह फ़ंक्शन, दिए गए यूडीपी सॉकेट पर मौजूद डेटा को दिए गए पते और पोर्ट पर भेजता है.

पैरामीटर

  • socketId

    संख्या

    socketId.

  • डेटा

    ArrayBuffer

    लिखा जाने वाला डेटा.

  • पता

    स्ट्रिंग

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

  • पोर्ट

    संख्या

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

  • कॉलबैक

    फ़ंक्शन

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

    (writeInfo: WriteInfo) => void

setKeepAlive()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • चालू करें

    बूलियन

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

  • विलंब

    number ज़रूरी नहीं

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: boolean) => void

    • नतीजा

      बूलियन

setMulticastLoopbackMode()

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

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

ध्यान दें: Windows और Unix जैसे सिस्टम में, setMulticastLoopbackMode का व्यवहार थोड़ा अलग होता है. यह गड़बड़ी सिर्फ़ तब होती है, जब एक ही होस्ट पर एक से ज़्यादा ऐप्लिकेशन एक ही मल्टीकास्ट ग्रुप से जुड़े हों और मल्टीकास्ट लूपबैक मोड पर उनकी सेटिंग अलग-अलग हों. Windows पर, लूपबैक की सुविधा बंद करने वाले ऐप्लिकेशन को लूपबैक पैकेट नहीं मिलेंगे. वहीं, Unix जैसे सिस्टम पर, लूपबैक की सुविधा बंद करने वाले ऐप्लिकेशन, एक ही होस्ट पर मौजूद अन्य ऐप्लिकेशन को लूपबैक पैकेट नहीं भेजेंगे. MSDN देखें: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

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

पैरामीटर

  • socketId

    संख्या

    socketId.

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

    बूलियन

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

setMulticastTimeToLive()

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

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • ttl

    संख्या

    टाइम-टू-लिव वैल्यू.

  • कॉलबैक

    फ़ंक्शन

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

    (result: number) => void

    • नतीजा

      संख्या

setNoDelay()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • noDelay

    बूलियन

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: boolean) => void

    • नतीजा

      बूलियन

write()

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

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

पैरामीटर

  • socketId

    संख्या

    socketId.

  • डेटा

    ArrayBuffer

    लिखा जाने वाला डेटा.

  • कॉलबैक

    फ़ंक्शन

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

    (writeInfo: WriteInfo) => void