chrome.socket

ब्यौरा

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

अनुमतियां

socket

टाइप

AcceptInfo

प्रॉपर्टी

  • resultCode

    नंबर

  • socketId

    नंबर ज़रूरी नहीं

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

CreateInfo

प्रॉपर्टी

  • socketId

    नंबर

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

CreateOptions

NetworkInterface

प्रॉपर्टी

  • पता

    स्ट्रिंग

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

  • नाम

    स्ट्रिंग

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

  • prefixLength

    नंबर

    उपसर्ग की लंबाई

ReadInfo

प्रॉपर्टी

  • डेटा

    ArrayBuffer

  • resultCode

    नंबर

    दिए गए Read() कॉल से मिला resultCode मिला.

RecvFromInfo

प्रॉपर्टी

  • पता

    स्ट्रिंग

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

  • डेटा

    ArrayBuffer

  • पोर्ट

    नंबर

  • resultCode

    नंबर

    नतीजे में दिया गया कोड, recvfrom() कॉल से मिला था.

SecureOptions

प्रॉपर्टी

SocketInfo

प्रॉपर्टी

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

    boolean

    डिवाइस का दिया हुआ सॉकेट कनेक्ट है या नहीं.

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

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

  • localAddress

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

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

  • localPort

    नंबर ज़रूरी नहीं

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

  • peerAddress

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

    अगर मौजूदा सॉकेट कनेक्ट है, तो उसमें साथी का आईपीवी4/6 पता शामिल होता है.

  • peerPort

    नंबर ज़रूरी नहीं

    अगर मौजूदा सॉकेट कनेक्ट है, तो उसमें कनेक्ट किए गए साथी का पोर्ट होता है.

  • socketType

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

SocketType

Enum

"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,
)

सॉकेट डिसकनेक्ट करता है. यूडीपी सॉकेट के लिए, 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,
)

दिए गए UDP सॉकेट से डेटा लेता है.

पैरामीटर

  • 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,
)

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

पैरामीटर

  • socketId

    नंबर

    सॉकेट आईडी.

  • डेटा

    ArrayBuffer

    जिस डेटा को सेव करना है.

  • पता

    स्ट्रिंग

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

  • पोर्ट

    नंबर

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

  • कॉलबैक

    फ़ंक्शन

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

    (writeInfo: WriteInfo)=>void

setKeepAlive()

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

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

पैरामीटर

  • socketId

    नंबर

    सॉकेट आईडी.

  • enable

    boolean

    सही होने पर, कीप-अलाइव (चालू रखें) की सुविधा को चालू करें.

  • विलंब

    नंबर ज़रूरी नहीं

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: boolean)=>void

    • नतीजा

      boolean

setMulticastLoopbackMode()

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

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

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

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

पैरामीटर

  • socketId

    नंबर

    सॉकेट आईडी.

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

    boolean

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number)=>void

    • नतीजा

      नंबर

setMulticastTimeToLive()

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

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

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

पैरामीटर

  • socketId

    नंबर

    सॉकेट आईडी.

  • ttl

    नंबर

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: number)=>void

    • नतीजा

      नंबर

setNoDelay()

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

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

पैरामीटर

  • socketId

    नंबर

    सॉकेट आईडी.

  • noDelay

    boolean

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

  • कॉलबैक

    फ़ंक्शन

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

    (result: boolean)=>void

    • नतीजा

      boolean

write()

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

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

पैरामीटर

  • socketId

    नंबर

    सॉकेट आईडी.

  • डेटा

    ArrayBuffer

    जिस डेटा को सेव करना है.

  • कॉलबैक

    फ़ंक्शन

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

    (writeInfo: WriteInfo)=>void