chrome.sockets.udp

বর্ণনা

UDP সংযোগ ব্যবহার করে নেটওয়ার্কে ডেটা পাঠাতে এবং গ্রহণ করতে chrome.sockets.udp API ব্যবহার করুন৷ এই APIটি পূর্বে "সকেট" API-এ পাওয়া UDP কার্যকারিতাকে ছাড়িয়ে যায়।

উদ্ভাসিত

এই API ব্যবহার করার জন্য নিম্নলিখিত কীগুলি অবশ্যই ম্যানিফেস্টে ঘোষণা করতে হবে৷

"sockets"

প্রকারভেদ

CreateInfo

বৈশিষ্ট্য

  • সকেট আইডি

    সংখ্যা

    নতুন তৈরি সকেটের আইডি। মনে রাখবেন যে এই API থেকে তৈরি সকেট আইডিগুলি অন্যান্য API থেকে তৈরি সকেট আইডিগুলির সাথে সামঞ্জস্যপূর্ণ নয়, যেমন অপ্রচলিত [ সকেট ](../socket/) API।

DnsQueryType

Chrome 103+

DNS রেজোলিউশন পছন্দ। ডিফল্ট যে any এবং বর্তমান OS কনফিগ ব্যবহার করে যা IPv4 বা IPv6 ফেরত দিতে পারে। ipv4 IPv4 কে জোর করে, এবং ipv6 IPv6 কে জোর করে।

এনাম

"যে কোন"

"ipv4"

"ipv6"

ReceiveErrorInfo

বৈশিষ্ট্য

  • ফলাফল কোড

    সংখ্যা

    ফলাফল কোড অন্তর্নিহিত recvfrom() কল থেকে ফিরে এসেছে।

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

ReceiveInfo

বৈশিষ্ট্য

  • তথ্য

    অ্যারেবাফার

    UDP প্যাকেট বিষয়বস্তু (বর্তমান বাফার আকারে কাটা)।

  • দূরবর্তী ঠিকানা

    স্ট্রিং

    প্যাকেটটি হোস্টের ঠিকানা থেকে আসে।

  • দূরবর্তী পোর্ট

    সংখ্যা

    প্যাকেটটি হোস্টের পোর্ট থেকে আসে।

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

SendInfo

বৈশিষ্ট্য

  • বাইট পাঠানো হয়েছে

    সংখ্যা ঐচ্ছিক

    পাঠানো বাইট সংখ্যা (যদি ফলাফল == 0)

  • ফলাফল কোড

    সংখ্যা

    অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফিরে এসেছে। একটি নেতিবাচক মান একটি ত্রুটি নির্দেশ করে।

SocketInfo

বৈশিষ্ট্য

  • বাফারের আকার

    সংখ্যা ঐচ্ছিক

    ডেটা গ্রহণ করতে ব্যবহৃত বাফারের আকার। কোনো বাফার আকার স্পষ্টভাবে নির্দিষ্ট করা না থাকলে, মান প্রদান করা হয় না।

  • স্থানীয় ঠিকানা

    স্ট্রিং ঐচ্ছিক

    অন্তর্নিহিত সকেট আবদ্ধ হলে, এর স্থানীয় IPv4/6 ঠিকানা ধারণ করে।

  • স্থানীয় পোর্ট

    সংখ্যা ঐচ্ছিক

    অন্তর্নিহিত সকেট আবদ্ধ হলে, তার স্থানীয় পোর্ট ধারণ করে।

  • নাম

    স্ট্রিং ঐচ্ছিক

    সকেটের সাথে যুক্ত অ্যাপ্লিকেশন-সংজ্ঞায়িত স্ট্রিং।

  • বিরতি দেওয়া

    বুলিয়ান

    ফ্ল্যাগ ইঙ্গিত করে যে সকেটটি রিসিভ ইভেন্টগুলিতে ফায়ারিং থেকে ব্লক করা হয়েছে কিনা।

  • অবিরাম

    বুলিয়ান

    অ্যাপ্লিকেশন স্থগিত করার সময় সকেট খোলা রাখা হয়েছে কিনা তা নির্দেশ করে ফ্ল্যাগ ( SocketProperties.persistent দেখুন)।

  • সকেট আইডি

    সংখ্যা

    সকেট শনাক্তকারী।

SocketProperties

বৈশিষ্ট্য

  • বাফারের আকার

    সংখ্যা ঐচ্ছিক

    ডেটা গ্রহণ করতে ব্যবহৃত বাফারের আকার। UDP প্যাকেট পাওয়ার জন্য বাফার খুব ছোট হলে, ডেটা হারিয়ে যায়। ডিফল্ট মান হল 4096।

  • নাম

    স্ট্রিং ঐচ্ছিক

    সকেটের সাথে যুক্ত একটি অ্যাপ্লিকেশন-সংজ্ঞায়িত স্ট্রিং।

  • অবিরাম

    বুলিয়ান ঐচ্ছিক

    অ্যাপ্লিকেশানের ইভেন্ট পৃষ্ঠাটি আনলোড করার সময় সকেটটি খোলা রেখে দেওয়া হয় কিনা তা নির্দেশ করে ( অ্যাপ লাইফসাইকেল পরিচালনা করুন দেখুন)। ডিফল্ট মান মিথ্যা." যখন অ্যাপ্লিকেশনটি লোড করা হয়, যে কোন সকেট পূর্বে persistent=true দিয়ে খোলা হয়েছিল getSockets দিয়ে আনা যেতে পারে।

পদ্ধতি

bind()

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

সকেটের জন্য স্থানীয় ঠিকানা এবং পোর্ট আবদ্ধ করে। একটি ক্লায়েন্ট সকেটের জন্য, প্ল্যাটফর্মটিকে একটি বিনামূল্যের পোর্ট বাছাই করার জন্য পোর্ট 0 ব্যবহার করার পরামর্শ দেওয়া হয়।

একবার bind অপারেশন সফলভাবে সম্পন্ন হলে, যখন UDP প্যাকেট নির্দিষ্ট ঠিকানা/পোর্টে আসে তখন onReceive ইভেন্টগুলি উত্থাপিত হয় -- যদি না সকেটটি বিরাম দেওয়া হয়।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • ঠিকানা

    স্ট্রিং

    লোকাল মেশিনের ঠিকানা। DNS নাম, IPv4 এবং IPv6 ফরম্যাট সমর্থিত। সমস্ত স্থানীয় উপলব্ধ নেটওয়ার্ক ইন্টারফেস থেকে প্যাকেট গ্রহণ করতে "0.0.0.0" ব্যবহার করুন।

  • বন্দর

    সংখ্যা

    স্থানীয় মেশিনের বন্দর। একটি মুক্ত পোর্টে আবদ্ধ করতে "0" ব্যবহার করুন।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফিরে এসেছে। একটি নেতিবাচক মান একটি ত্রুটি নির্দেশ করে।

close()

প্রতিশ্রুতি
chrome.sockets.udp.close(
  socketId: number,
  callback?: function,
)

সকেট বন্ধ করে এবং সকেটটি আবদ্ধ ঠিকানা/পোর্ট প্রকাশ করে। তৈরি করা প্রতিটি সকেট ব্যবহারের পরে বন্ধ করা উচিত। ফাংশনে কল করার সাথে সাথে সকেট আইডি আর বৈধ থাকে না। যাইহোক, কলব্যাক আহ্বান করা হলেই সকেট বন্ধ হওয়ার নিশ্চয়তা।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    () => void

রিটার্নস

  • প্রতিশ্রুতি <void>

    Chrome 121+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

create()

প্রতিশ্রুতি
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)

প্রদত্ত বৈশিষ্ট্য সহ একটি UDP সকেট তৈরি করে।

পরামিতি

  • বৈশিষ্ট্য

    SocketProperties ঐচ্ছিক

    সকেট বৈশিষ্ট্য (ঐচ্ছিক)।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (createInfo: CreateInfo) => void

রিটার্নস

  • প্রতিশ্রুতি< CreateInfo >

    Chrome 121+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

getInfo()

প্রতিশ্রুতি
chrome.sockets.udp.getInfo(
  socketId: number,
  callback?: function,
)

প্রদত্ত সকেটের অবস্থা পুনরুদ্ধার করে।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (socketInfo: SocketInfo) => void

রিটার্নস

  • প্রতিশ্রুতি< সকেট ইনফো >

    Chrome 121+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

getJoinedGroups()

প্রতিশ্রুতি
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)

সকেটটি বর্তমানে যুক্ত করা মাল্টিকাস্ট গোষ্ঠীর ঠিকানাগুলি পায়৷

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (groups: string[]) => void

    • গ্রুপ

      স্ট্রিং[]

      সকেট যোগদান করা গোষ্ঠীর অ্যারে।

রিটার্নস

  • প্রতিশ্রুতি<string[]>

    Chrome 121+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

getSockets()

প্রতিশ্রুতি
chrome.sockets.udp.getSockets(
  callback?: function,
)

অ্যাপ্লিকেশনের মালিকানাধীন বর্তমানে খোলা সকেটের তালিকা পুনরুদ্ধার করে।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (socketInfos: SocketInfo[]) => void

    • সকেট ইনফোস

      সকেট তথ্য ধারণকারী বস্তুর অ্যারে।

রিটার্নস

  • প্রতিশ্রুতি< SocketInfo []>

    Chrome 121+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

joinGroup()

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

মাল্টিকাস্ট গ্রুপে যোগদান করে এবং সেই গ্রুপ থেকে প্যাকেট পেতে শুরু করে। এই পদ্ধতিতে কল করার আগে সকেটটি একটি স্থানীয় পোর্টে আবদ্ধ হতে হবে।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • ঠিকানা

    স্ট্রিং

    যোগদান করার জন্য গ্রুপ ঠিকানা. ডোমেনের নাম সমর্থিত নয়।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফিরে এসেছে। একটি নেতিবাচক মান একটি ত্রুটি নির্দেশ করে।

leaveGroup()

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

joinGroup ব্যবহার করে পূর্বে যোগদান করা মাল্টিকাস্ট গোষ্ঠী ত্যাগ করে। আপনি যদি পরে সকেট ব্যবহার চালিয়ে যাওয়ার পরিকল্পনা করেন তবেই এটি কল করার জন্য প্রয়োজনীয়, যেহেতু সকেট বন্ধ হয়ে গেলে এটি OS দ্বারা স্বয়ংক্রিয়ভাবে সম্পন্ন হবে।

গ্রুপ ত্যাগ করা রাউটারকে স্থানীয় হোস্টে মাল্টিকাস্ট ডেটাগ্রাম পাঠাতে বাধা দেবে, অনুমান করে যে হোস্টে এখনও গ্রুপে যোগদান করা হয়নি।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • ঠিকানা

    স্ট্রিং

    গ্রুপ ছেড়ে যাওয়ার ঠিকানা। ডোমেনের নাম সমর্থিত নয়।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফিরে এসেছে। একটি নেতিবাচক মান একটি ত্রুটি নির্দেশ করে।

send()

chrome.sockets.udp.send(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

প্রদত্ত সকেটের প্রদত্ত ঠিকানা এবং পোর্টে ডেটা পাঠায়। এই পদ্ধতিতে কল করার আগে সকেটটি একটি স্থানীয় পোর্টে আবদ্ধ হতে হবে।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • তথ্য

    অ্যারেবাফার

    ডেটা পাঠাতে হবে।

  • ঠিকানা

    স্ট্রিং

    রিমোট মেশিনের ঠিকানা।

  • বন্দর

    সংখ্যা

    দূরবর্তী মেশিনের পোর্ট।

  • dnsQuery টাইপ

    DnsQueryType ঐচ্ছিক

    Chrome 103+

    ঠিকানা সমাধান পছন্দ.

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (sendInfo: SendInfo) => void

setBroadcast()

Chrome 44+
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)

এই সকেটে সম্প্রচার প্যাকেট সক্রিয় বা নিষ্ক্রিয় করে।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • সক্রিয়

    বুলিয়ান

    সম্প্রচার প্যাকেট সক্রিয় করতে true , নিষ্ক্রিয় করতে false

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফিরে এসেছে।

setMulticastLoopbackMode()

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

হোস্ট থেকে মাল্টিকাস্ট গ্রুপে পাঠানো মাল্টিকাস্ট প্যাকেটগুলি হোস্টে লুপ করা হবে কিনা তা সেট করে।

দ্রষ্টব্য: Windows এবং Unix-এর মতো সিস্টেমের মধ্যে setMulticastLoopbackMode এর আচরণ কিছুটা আলাদা। মাল্টিকাস্ট লুপব্যাক মোডে বিভিন্ন সেটিংস থাকাকালীন একই হোস্টে একাধিক অ্যাপ্লিকেশন একই মাল্টিকাস্ট গ্রুপে যোগদান করলেই অসঙ্গতি ঘটে। উইন্ডোজে, লুপব্যাক বন্ধ থাকা অ্যাপ্লিকেশনগুলি লুপব্যাক প্যাকেটগুলি গ্রহণ করবে না; ইউনিক্স-এর মতো সিস্টেমে থাকাকালীন, লুপব্যাক বন্ধ থাকা অ্যাপ্লিকেশনগুলি একই হোস্টের অন্যান্য অ্যাপ্লিকেশনগুলিতে লুপব্যাক প্যাকেটগুলি পাঠাবে না। MSDN দেখুন: http://goo.gl/6vqbj

এই পদ্ধতিতে কল করার জন্য মাল্টিকাস্ট অনুমতির প্রয়োজন নেই।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • সক্রিয়

    বুলিয়ান

    লুপব্যাক মোড সক্ষম করতে হবে কিনা তা নির্দেশ করুন৷

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফিরে এসেছে। একটি নেতিবাচক মান একটি ত্রুটি নির্দেশ করে।

setMulticastTimeToLive()

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

মাল্টিকাস্ট গ্রুপে পাঠানো মাল্টিকাস্ট প্যাকেটের সময়-টু-লাইভ সেট করে।

এই পদ্ধতিতে কল করার জন্য মাল্টিকাস্ট অনুমতির প্রয়োজন নেই।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • ttl

    সংখ্যা

    টাইম টু লাইভ ভ্যালু।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফিরে এসেছে। একটি নেতিবাচক মান একটি ত্রুটি নির্দেশ করে।

setPaused()

প্রতিশ্রুতি
chrome.sockets.udp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

একটি সকেট বিরতি বা আনপজ করে। একটি বিরাম দেওয়া সকেটকে গুলি চালানো থেকে অবরুদ্ধ করা হয়েছে onReceive ইভেন্টগুলিতে৷

পরামিতি

  • সকেট আইডি

    সংখ্যা

  • বিরতি দেওয়া

    বুলিয়ান

    পজ বা আনপজ ইঙ্গিত করতে ফ্ল্যাগ করুন।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    () => void

রিটার্নস

  • প্রতিশ্রুতি <void>

    Chrome 121+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

update()

প্রতিশ্রুতি
chrome.sockets.udp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

সকেট বৈশিষ্ট্য আপডেট করে।

পরামিতি

  • সকেট আইডি

    সংখ্যা

    সকেট আইডি।

  • বৈশিষ্ট্য

    বৈশিষ্ট্য আপডেট করার জন্য.

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    () => void

রিটার্নস

  • প্রতিশ্রুতি <void>

    Chrome 121+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

ঘটনা

onReceive

chrome.sockets.udp.onReceive.addListener(
  callback: function,
)

প্রদত্ত সকেটের জন্য একটি UDP প্যাকেট প্রাপ্ত হলে ইভেন্ট উত্থাপিত হয়৷

পরামিতি

onReceiveError

chrome.sockets.udp.onReceiveError.addListener(
  callback: function,
)

রানটাইম সকেট ঠিকানা এবং পোর্টে ডেটার জন্য অপেক্ষা করার সময় নেটওয়ার্ক ত্রুটি দেখা দিলে ইভেন্ট উত্থাপিত হয়৷ একবার এই ইভেন্টটি উত্থাপিত হলে, সকেটটি বিরাম দেওয়া হয় এবং সকেটটি পুনরায় চালু না হওয়া পর্যন্ত এই সকেটের জন্য আর কোন onReceive ইভেন্ট উত্থাপিত হবে না।

পরামিতি