chrome.sockets.udp

বর্ণনা

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

প্রকাশ

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

"sockets"

প্রকারভেদ

CreateInfo

বৈশিষ্ট্য

  • সকেটআইডি

    সংখ্যা

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

DnsQueryType

ক্রোম ১০৩+

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

এনাম

যেকোনো

"ipv4"

"ipv6"

ReceiveErrorInfo

বৈশিষ্ট্য

  • ফলাফল কোড

    সংখ্যা

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

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

ReceiveInfo

বৈশিষ্ট্য

  • ডেটা

    অ্যারেবাফার

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

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

    স্ট্রিং

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

  • রিমোটপোর্ট

    সংখ্যা

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

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

SendInfo

বৈশিষ্ট্য

  • bytesSent

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

    প্রেরিত বাইটের সংখ্যা (যদি ফলাফল == ০ হয়)

  • ফলাফল কোড

    সংখ্যা

    অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

SocketInfo

বৈশিষ্ট্য

  • বাফার সাইজ

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

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

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

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

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

  • স্থানীয় বন্দর

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

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

  • নাম

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

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

  • থামানো

    বুলিয়ান

    সকেটটি onReceive ইভেন্ট ফায়ার করা থেকে ব্লক করা আছে কিনা তা নির্দেশকারী ফ্ল্যাগ।

  • অবিরাম

    বুলিয়ান

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

  • সকেটআইডি

    সংখ্যা

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

SocketProperties

বৈশিষ্ট্য

  • বাফার সাইজ

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

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

  • নাম

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

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

  • অবিরাম

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

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

পদ্ধতি

bind()

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

সকেটের জন্য স্থানীয় ঠিকানা এবং পোর্ট নির্দিষ্ট করে। ক্লায়েন্ট সকেটের ক্ষেত্রে, পোর্ট ০ ব্যবহার করার পরামর্শ দেওয়া হয়, যাতে প্ল্যাটফর্ম একটি খালি পোর্ট বেছে নিতে পারে।

bind অপারেশন সফলভাবে সম্পন্ন হওয়ার পর, সকেটটি পজ করা না থাকলে, নির্দিষ্ট অ্যাড্রেস/পোর্টে UDP প্যাকেট এলে onReceive ইভেন্ট ট্রিগার হয়।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • ঠিকানা

    স্ট্রিং

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

  • বন্দর

    সংখ্যা

    স্থানীয় মেশিনের পোর্ট। একটি খালি পোর্টে বাইন্ড করতে "0" ব্যবহার করুন।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

close()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

create()

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

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

প্যারামিটার

  • বৈশিষ্ট্য

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (createInfo: CreateInfo) => void

    • তথ্য তৈরি করুন

      সকেট তৈরির ফলাফল।

ফেরত

  • প্রতিশ্রুতি< তথ্য তৈরি করুন >

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

getInfo()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (socketInfo: SocketInfo) => void

    • সকেটইনফো

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

ফেরত

  • প্রতিশ্রুতি< সকেট তথ্য >

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

getJoinedGroups()

প্রতিশ্রুতি
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)
: Promise<string[]>

সকেটটি বর্তমানে যে মাল্টিকাস্ট গ্রুপগুলোতে যুক্ত আছে, সেগুলোর অ্যাড্রেসগুলো পাওয়া যায়।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (groups: string[]) => void

    • দলগুলি

      স্ট্রিং[]

      সকেটটি যে গ্রুপগুলোতে যোগদান করেছে, সেগুলোর অ্যারে।

ফেরত

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

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

getSockets()

প্রতিশ্রুতি
chrome.sockets.udp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

প্যারামিটার

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (socketInfos: SocketInfo[]) => void

    • সকেটইনফোস

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

ফেরত

  • প্রতিশ্রুতি< সকেট তথ্য []>

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

joinGroup()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • ঠিকানা

    স্ট্রিং

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

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

leaveGroup()

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

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • ঠিকানা

    স্ট্রিং

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

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

send()

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

প্রদত্ত সকেটে, প্রদত্ত অ্যাড্রেস ও পোর্টে ডেটা পাঠায়। এই মেথডটি কল করার আগে সকেটটিকে অবশ্যই একটি লোকাল পোর্টের সাথে সংযুক্ত থাকতে হবে।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • ডেটা

    অ্যারেবাফার

    প্রেরণ করার জন্য ডেটা।

  • ঠিকানা

    স্ট্রিং

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

  • বন্দর

    সংখ্যা

    রিমোট মেশিনের পোর্ট।

  • dnsQueryType

    DnsQueryType ঐচ্ছিক

    ক্রোম ১০৩+

    ঠিকানা রেজোলিউশন পছন্দ।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (sendInfo: SendInfo) => void

setBroadcast()

ক্রোম ৪৪+
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)
: void

এই সকেটে ব্রডকাস্ট প্যাকেট চালু বা বন্ধ করে।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • সক্ষম

    বুলিয়ান

    ব্রডকাস্ট প্যাকেট চালু করতে true , বন্ধ করতে false ।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

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

setMulticastLoopbackMode()

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

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

দ্রষ্টব্য: setMulticastLoopbackMode এর আচরণ Windows এবং Unix-সদৃশ সিস্টেমের মধ্যে কিছুটা ভিন্ন। এই অসামঞ্জস্যটি কেবল তখনই ঘটে যখন একই হোস্টে একই মাল্টিকাস্ট গ্রুপে যুক্ত একাধিক অ্যাপ্লিকেশন থাকে, যাদের মাল্টিকাস্ট লুপব্যাক মোডের সেটিংস ভিন্ন ভিন্ন হয়। Windows-এ, যে অ্যাপ্লিকেশনগুলোর লুপব্যাক বন্ধ থাকে, সেগুলো লুপব্যাক প্যাকেট গ্রহণ (RECE) করবে না; অন্যদিকে Unix-সদৃশ সিস্টেমে, লুপব্যাক বন্ধ থাকা অ্যাপ্লিকেশনগুলো একই হোস্টের অন্যান্য অ্যাপ্লিকেশনে লুপব্যাক প্যাকেট পাঠাবে না। MSDN দেখুন: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

এই মেথডটি কল করার জন্য মাল্টিকাস্ট পারমিশনের প্রয়োজন নেই।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • সক্ষম

    বুলিয়ান

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

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

setMulticastTimeToLive()

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

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

এই মেথডটি কল করার জন্য মাল্টিকাস্ট পারমিশনের প্রয়োজন নেই।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • টিটিএল

    সংখ্যা

    জীবনকালের মূল্য।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

setPaused()

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

একটি সকেটকে বিরতি দেয় বা পুনরায় চালু করে। একটি বিরতি দেওয়া সকেট onReceive ইভেন্ট প্রেরণ করতে পারে না।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • থামানো

    বুলিয়ান

    বিরতি দেওয়া হবে নাকি পুনরায় চালু করা হবে, তা নির্দেশ করার জন্য ফ্ল্যাগ।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

update()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • বৈশিষ্ট্য

    আপডেট করার জন্য প্রপার্টিগুলো।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

ইভেন্টগুলি

onReceive

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

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

প্যারামিটার

onReceiveError

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (info: ReceiveErrorInfo) => void

,

বর্ণনা

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

প্রকাশ

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

"sockets"

প্রকারভেদ

CreateInfo

বৈশিষ্ট্য

  • সকেটআইডি

    সংখ্যা

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

DnsQueryType

ক্রোম ১০৩+

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

এনাম

যেকোনো

"ipv4"

"ipv6"

ReceiveErrorInfo

বৈশিষ্ট্য

  • ফলাফল কোড

    সংখ্যা

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

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

ReceiveInfo

বৈশিষ্ট্য

  • ডেটা

    অ্যারেবাফার

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

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

    স্ট্রিং

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

  • রিমোটপোর্ট

    সংখ্যা

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

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

SendInfo

বৈশিষ্ট্য

  • bytesSent

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

    প্রেরিত বাইটের সংখ্যা (যদি ফলাফল == ০ হয়)

  • ফলাফল কোড

    সংখ্যা

    অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

SocketInfo

বৈশিষ্ট্য

  • বাফার সাইজ

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

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

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

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

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

  • স্থানীয় বন্দর

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

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

  • নাম

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

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

  • থামানো

    বুলিয়ান

    সকেটটি onReceive ইভেন্ট ফায়ার করা থেকে ব্লক করা আছে কিনা তা নির্দেশকারী ফ্ল্যাগ।

  • অবিরাম

    বুলিয়ান

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

  • সকেটআইডি

    সংখ্যা

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

SocketProperties

বৈশিষ্ট্য

  • বাফার সাইজ

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

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

  • নাম

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

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

  • অবিরাম

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

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

পদ্ধতি

bind()

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

সকেটের জন্য স্থানীয় ঠিকানা এবং পোর্ট নির্দিষ্ট করে। ক্লায়েন্ট সকেটের ক্ষেত্রে, পোর্ট ০ ব্যবহার করার পরামর্শ দেওয়া হয়, যাতে প্ল্যাটফর্ম একটি খালি পোর্ট বেছে নিতে পারে।

bind অপারেশন সফলভাবে সম্পন্ন হওয়ার পর, সকেটটি পজ করা না থাকলে, নির্দিষ্ট অ্যাড্রেস/পোর্টে UDP প্যাকেট এলে onReceive ইভেন্ট ট্রিগার হয়।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • ঠিকানা

    স্ট্রিং

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

  • বন্দর

    সংখ্যা

    স্থানীয় মেশিনের পোর্ট। একটি খালি পোর্টে বাইন্ড করতে "0" ব্যবহার করুন।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

close()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

create()

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

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

প্যারামিটার

  • বৈশিষ্ট্য

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (createInfo: CreateInfo) => void

    • তথ্য তৈরি করুন

      সকেট তৈরির ফলাফল।

ফেরত

  • প্রতিশ্রুতি< তথ্য তৈরি করুন >

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

getInfo()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (socketInfo: SocketInfo) => void

    • সকেটইনফো

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

ফেরত

  • প্রতিশ্রুতি< সকেট তথ্য >

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

getJoinedGroups()

প্রতিশ্রুতি
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)
: Promise<string[]>

সকেটটি বর্তমানে যে মাল্টিকাস্ট গ্রুপগুলোতে যুক্ত আছে, সেগুলোর অ্যাড্রেসগুলো পাওয়া যায়।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (groups: string[]) => void

    • দলগুলি

      স্ট্রিং[]

      সকেটটি যে গ্রুপগুলোতে যোগদান করেছে, সেগুলোর অ্যারে।

ফেরত

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

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

getSockets()

প্রতিশ্রুতি
chrome.sockets.udp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

প্যারামিটার

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (socketInfos: SocketInfo[]) => void

    • সকেটইনফোস

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

ফেরত

  • প্রতিশ্রুতি< সকেট তথ্য []>

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

joinGroup()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • ঠিকানা

    স্ট্রিং

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

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

leaveGroup()

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

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • ঠিকানা

    স্ট্রিং

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

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

send()

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

প্রদত্ত সকেটে, প্রদত্ত অ্যাড্রেস ও পোর্টে ডেটা পাঠায়। এই মেথডটি কল করার আগে সকেটটিকে অবশ্যই একটি লোকাল পোর্টের সাথে সংযুক্ত থাকতে হবে।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • ডেটা

    অ্যারেবাফার

    প্রেরণ করার জন্য ডেটা।

  • ঠিকানা

    স্ট্রিং

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

  • বন্দর

    সংখ্যা

    রিমোট মেশিনের পোর্ট।

  • dnsQueryType

    DnsQueryType ঐচ্ছিক

    ক্রোম ১০৩+

    ঠিকানা রেজোলিউশন পছন্দ।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (sendInfo: SendInfo) => void

setBroadcast()

ক্রোম ৪৪+
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)
: void

এই সকেটে ব্রডকাস্ট প্যাকেট চালু বা বন্ধ করে।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • সক্ষম

    বুলিয়ান

    ব্রডকাস্ট প্যাকেট চালু করতে true , বন্ধ করতে false ।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

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

setMulticastLoopbackMode()

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

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

দ্রষ্টব্য: setMulticastLoopbackMode এর আচরণ Windows এবং Unix-সদৃশ সিস্টেমের মধ্যে কিছুটা ভিন্ন। এই অসামঞ্জস্যটি কেবল তখনই ঘটে যখন একই হোস্টে একই মাল্টিকাস্ট গ্রুপে যুক্ত একাধিক অ্যাপ্লিকেশন থাকে, যাদের মাল্টিকাস্ট লুপব্যাক মোডের সেটিংস ভিন্ন ভিন্ন হয়। Windows-এ, যে অ্যাপ্লিকেশনগুলোর লুপব্যাক বন্ধ থাকে, সেগুলো লুপব্যাক প্যাকেট গ্রহণ (RECE) করবে না; অন্যদিকে Unix-সদৃশ সিস্টেমে, লুপব্যাক বন্ধ থাকা অ্যাপ্লিকেশনগুলো একই হোস্টের অন্যান্য অ্যাপ্লিকেশনে লুপব্যাক প্যাকেট পাঠাবে না। MSDN দেখুন: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

এই মেথডটি কল করার জন্য মাল্টিকাস্ট পারমিশনের প্রয়োজন নেই।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • সক্ষম

    বুলিয়ান

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

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

setMulticastTimeToLive()

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

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

এই মেথডটি কল করার জন্য মাল্টিকাস্ট পারমিশনের প্রয়োজন নেই।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • টিটিএল

    সংখ্যা

    জীবনকালের মূল্য।

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: number) => void

    • ফলাফল

      সংখ্যা

      অন্তর্নিহিত নেটওয়ার্ক কল থেকে প্রাপ্ত ফলাফল কোড। ঋণাত্মক মান একটি ত্রুটি নির্দেশ করে।

setPaused()

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

একটি সকেটকে বিরতি দেয় বা পুনরায় চালু করে। একটি বিরতি দেওয়া সকেট onReceive ইভেন্ট প্রেরণ করতে পারে না।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • থামানো

    বুলিয়ান

    বিরতি দেওয়া হবে নাকি পুনরায় চালু করা হবে, তা নির্দেশ করার জন্য ফ্ল্যাগ।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

update()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    সকেট আইডি।

  • বৈশিষ্ট্য

    আপডেট করার জন্য প্রপার্টিগুলো।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ১২১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

ইভেন্টগুলি

onReceive

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

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

প্যারামিটার

onReceiveError

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (info: ReceiveErrorInfo) => void