বিবরণ
UDP কানেকশন ব্যবহার করে নেটওয়ার্কের মাধ্যমে ডেটা পাঠানো ও পাওয়ার জন্য chrome.sockets.udp API ব্যবহার করুন। এই API, "সকেট" API-তে আগে পাওয়া UDP কার্যকারিতার স্থান অধিকার করে।
ম্যানিফেস্ট
ধরন
CreateInfo
প্রপার্টি
-
socketId
নম্বর
নতুন তৈরি করা সকেটের আইডি। মনে রাখবেন, এই API থেকে তৈরি করা সকেট আইডি অন্যান্য API থেকে তৈরি করা সকেট আইডির সাথে মানানসই নয়, যেমন, বন্ধ হয়ে যাওয়া
[সকেট](../socket/)API।
DnsQueryType
DNS রেজোলিউশন সংক্রান্ত পছন্দ। ডিফল্ট হল any এবং বর্তমান OS কনফিগারেশন ব্যবহার করে যা IPv4 বা IPv6 ফিরিয়ে দিতে পারে। ipv4 IPv4 এবং ipv6 IPv6 ব্যবহার করতে বাধ্য করে।
Enum
"যেকোনও"
"ipv4"
"ipv6"
ReceiveErrorInfo
প্রপার্টি
-
resultCode
নম্বর
অন্তর্নিহিত recvfrom() কল থেকে পাওয়া ফলাফল কোড।
-
socketId
নম্বর
সকেট আইডি।
ReceiveInfo
প্রপার্টি
-
ডেটা
ArrayBuffer
UDP প্যাকেট কন্টেন্ট (বর্তমান বাফার সাইজে ট্রাঙ্কেট করা হয়েছে)।
-
remoteAddress
স্ট্রিং
যে হোস্ট থেকে প্যাকেট আসে তার ঠিকানা।
-
remotePort
নম্বর
প্যাকেট যে হোস্ট থেকে আসে তার পোর্ট।
-
socketId
নম্বর
সকেট আইডি।
SendInfo
প্রপার্টি
-
bytesSent
নম্বর ঐচ্ছিক
যত বাইট পাঠানো হয়েছে (ফলাফল == ০ হলে)
-
resultCode
নম্বর
অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফেরত এসেছে। নেগেটিভ ভ্যালু থাকলে বুঝতে হবে যে কোনও সমস্যা হয়েছে।
SocketInfo
প্রপার্টি
-
bufferSize
নম্বর ঐচ্ছিক
ডেটা রিসিভ করার জন্য ব্যবহৃত বাফারের সাইজ। কোনও বাফার সাইজ স্পষ্টভাবে উল্লেখ করা না থাকলে, ভ্যালু প্রদান করা হয় না।
-
localAddress
স্ট্রিং ঐচ্ছিক
অন্তর্নিহিত সকেট বাউন্ড থাকলে, এতে স্থানীয় IPv4/6 অ্যাড্রেস থাকে।
-
localPort
নম্বর ঐচ্ছিক
আন্ডারলাইং সকেট বাউন্ড থাকলে, এতে স্থানীয় পোর্ট থাকে।
-
নাম
স্ট্রিং ঐচ্ছিক
সকেটের সাথে যুক্ত অ্যাপ্লিকেশন-নির্ধারিত স্ট্রিং।
-
সাময়িক ভাবে থামানো হয়েছে
বুলিয়ান
সকেট onReceive ইভেন্ট ফায়ার করা থেকে ব্লক করা আছে কিনা তা ইঙ্গিত করার ফ্ল্যাগ।
-
অবিচ্ছিন্ন
বুলিয়ান
অ্যাপ্লিকেশন সাসপেন্ড করা হলে সকেট খোলা আছে কিনা তা ইঙ্গিত করার ফ্ল্যাগ (
SocketProperties.persistentদেখুন)। -
socketId
নম্বর
সকেট শনাক্তকারী।
SocketProperties
প্রপার্টি
-
bufferSize
নম্বর ঐচ্ছিক
ডেটা রিসিভ করার জন্য ব্যবহৃত বাফারের সাইজ। UDP প্যাকেট পাওয়ার জন্য বাফার খুব ছোট হলে, ডেটা হারিয়ে যায়। ডিফল্ট ভ্যালু হল ৪০৯৬।
-
নাম
স্ট্রিং ঐচ্ছিক
সকেটের সাথে যুক্ত অ্যাপ্লিকেশন-নির্ধারিত স্ট্রিং।
-
অবিচ্ছিন্ন
বুলিয়ান ঐচ্ছিক
অ্যাপ্লিকেশনের ইভেন্ট পৃষ্ঠা আনলোড করার সময় সকেট খোলা থাকলে ফ্ল্যাগ দেখানো হয় (অ্যাপ লাইফসাইকেল ম্যানেজ করুন দেখুন)। ডিফল্ট ভ্যালু হল "false"। অ্যাপ্লিকেশন লোড করা হলে, persistent=true সহ আগে খোলা যেকোনও সকেট
getSockets-এর মাধ্যমে ফেচ করা যাবে।
পদ্ধতি
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
সকেটের জন্য স্থানীয় ঠিকানা ও পোর্ট বাইন্ড করে। ক্লায়েন্ট সকেটের ক্ষেত্রে, প্ল্যাটফর্মকে একটি ফ্রি পোর্ট বেছে নিতে দেওয়ার জন্য পোর্ট 0 ব্যবহার করার সাজেশন দেওয়া হয়।
bind অপারেশন সম্পূর্ণ হয়ে গেলে, onReceive ইভেন্টগুলি নির্দিষ্ট করা অ্যাড্রেস/পোর্টে UDP প্যাকেট আসার পরে উত্থাপিত হয় -- যদি না সকেট পজ করা থাকে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
ঠিকানা
স্ট্রিং
লোকাল মেশিনের ঠিকানা। DNS নাম, IPv4 এবং IPv6 ফর্ম্যাট কাজ করে। স্থানীয়ভাবে উপলভ্য সব নেটওয়ার্ক ইন্টারফেস থেকে প্যাকেট গ্রহণ করতে "0.0.0.0" ব্যবহার করুন।
-
পোর্ট
নম্বর
লোকাল মেশিনের পোর্ট। ফ্রি পোর্টে বাইন্ড করতে "0" ব্যবহার করুন।
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(result: number) => void
-
ফলাফল
নম্বর
অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফেরত এসেছে। নেগেটিভ ভ্যালু থাকলে বুঝতে হবে যে কোনও সমস্যা হয়েছে।
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
সকেট বন্ধ করে এবং সকেট যে অ্যাড্রেস/পোর্টের সাথে বাউন্ড করা আছে তা রিলিজ করে। তৈরি করা প্রতিটি সকেট ব্যবহারের পরে বন্ধ করে দিতে হবে। ফাংশন কল করার সাথে সাথেই সকেট আইডি আর কাজ করে না। তবে, কলব্যাক চালু করা হলেই সকেট বন্ধ হওয়ার গ্যারেন্টি দেওয়া হয়।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 121+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
প্রদত্ত প্রপার্টি সহ একটি UDP সকেট তৈরি করে।
প্যারামিটারগুলি
-
প্রপার্টি
SocketProperties ঐচ্ছিক
সকেট প্রপার্টি (ঐচ্ছিক)।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(createInfo: CreateInfo) => void
-
createInfo
সকেট তৈরির ফলাফল।
-
রিটার্ন
-
Promise<CreateInfo>
Chrome 121+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
প্রদত্ত সকেটের স্ট্যাটাস ফিরিয়ে আনে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(socketInfo: SocketInfo) => void
-
socketInfo
সকেট সংক্রান্ত তথ্য সহ অবজেক্ট।
-
রিটার্ন
-
Promise<SocketInfo>
Chrome 121+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
সকেট বর্তমানে যে মাল্টিকাস্ট গ্রুপ অ্যাড্রেসে যোগ দিয়েছে তা পায়।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(groups: string[]) => void
-
গ্রুপ
স্ট্রিং[]
সকেট যে গ্রুপে যোগ দিয়েছে তার অ্যারে।
-
রিটার্ন
-
Promise<string[]>
Chrome 121+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
অ্যাপ্লিকেশনের মালিকানাধীন বর্তমানে খোলা সকেটের তালিকা রিট্রিভ করে।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(socketInfos: SocketInfo[]) => void
-
socketInfos
সকেট সংক্রান্ত তথ্য সহ অবজেক্টের অ্যারে।
-
রিটার্ন
-
Promise<SocketInfo[]>
Chrome 121+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
মাল্টিকাস্ট গ্রুপে যোগ দেয় এবং সেই গ্রুপ থেকে প্যাকেট গ্রহণ করা শুরু করে। এই পদ্ধতি কল করার আগে সকেট অবশ্যই লোকাল পোর্টের সাথে বাউন্ড করতে হবে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
ঠিকানা
স্ট্রিং
যোগ দেওয়ার জন্য গ্রুপের ঠিকানা। ডোমেন নাম কাজ করে না।
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(result: number) => void
-
ফলাফল
নম্বর
অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফেরত এসেছে। নেগেটিভ ভ্যালু থাকলে বুঝতে হবে যে কোনও সমস্যা হয়েছে।
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
joinGroup ব্যবহার করে আগে যোগ দেওয়া মাল্টিকাস্ট গ্রুপ থেকে বেরিয়ে আসে। আপনি যদি পরে সকেট ব্যবহার করার পরিকল্পনা করেন, তাহলেই শুধু এটি কল করার প্রয়োজন হয়, কারণ সকেট বন্ধ হয়ে গেলে OS অটোমেটিক এটি করে দেবে।
গ্রুপ থেকে বেরিয়ে গেলে, রাউটার লোকাল হোস্টে মাল্টিকাস্ট ডেটাগ্রাম পাঠানো বন্ধ করে দেবে, যদি ধরে নেওয়া হয় যে হোস্টের অন্য কোনও প্রসেস এখনও গ্রুপের সাথে যুক্ত নেই।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
ঠিকানা
স্ট্রিং
যে গ্রুপ থেকে বেরিয়ে আসতে চান সেটির ঠিকানা। ডোমেন নাম কাজ করে না।
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(result: number) => void
-
ফলাফল
নম্বর
অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফেরত এসেছে। নেগেটিভ ভ্যালু থাকলে বুঝতে হবে যে কোনও সমস্যা হয়েছে।
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
প্রদত্ত সকেটে প্রদত্ত ঠিকানা ও পোর্টে ডেটা পাঠায়। এই পদ্ধতি কল করার আগে সকেট অবশ্যই লোকাল পোর্টের সাথে বাউন্ড করতে হবে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
ডেটা
ArrayBuffer
যে ডেটা পাঠাতে হবে।
-
ঠিকানা
স্ট্রিং
রিমোট মেশিনের অ্যাড্রেস।
-
পোর্ট
নম্বর
রিমোট মেশিনের পোর্ট।
-
dnsQueryType
DnsQueryType ঐচ্ছিক
Chrome 103+ঠিকানা রেজোলিউশন সংক্রান্ত পছন্দ।
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(sendInfo: SendInfo) => void
-
sendInfo
sendপদ্ধতির ফলাফল।
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
এই সকেটে ব্রডকাস্ট প্যাকেট চালু বা বন্ধ করে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
সক্ষমিত
বুলিয়ান
ব্রডকাস্ট প্যাকেট চালু করতে
true, বন্ধ করতেfalse। -
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(result: number) => void
-
ফলাফল
নম্বর
অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফেরত এসেছে।
-
setMulticastLoopbackMode()
chrome.sockets.udp.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
নম্বর
সকেট আইডি।
-
সক্ষমিত
বুলিয়ান
লুপব্যাক মোড চালু করতে হবে কিনা তা নির্দেশ করুন।
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(result: number) => void
-
ফলাফল
নম্বর
অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফেরত এসেছে। নেগেটিভ ভ্যালু থাকলে বুঝতে হবে যে কোনও সমস্যা হয়েছে।
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
মাল্টিকাস্ট গ্রুপে পাঠানো মাল্টিকাস্ট প্যাকেটের টাইম-টু-লাইভ সেট করে।
এই পদ্ধতি কল করার জন্য মাল্টিকাস্ট অনুমতির প্রয়োজন নেই।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
ttl
নম্বর
টাইম-টু-লাইভ ভ্যালু।
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(result: number) => void
-
ফলাফল
নম্বর
অন্তর্নিহিত নেটওয়ার্ক কল থেকে ফলাফল কোড ফেরত এসেছে। নেগেটিভ ভ্যালু থাকলে বুঝতে হবে যে কোনও সমস্যা হয়েছে।
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
সকেট পজ বা আনপজ করে। পজ করা সকেটকে onReceive ইভেন্ট ফায়ার করা থেকে ব্লক করা হয়েছে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
সাময়িক ভাবে থামানো হয়েছে
বুলিয়ান
পজ বা আনপজ করা হবে কিনা তা নির্দেশ করার ফ্ল্যাগ।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 121+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
সকেট প্রপার্টি আপডেট করে।
প্যারামিটারগুলি
-
socketId
নম্বর
সকেট আইডি।
-
প্রপার্টি
আপডেট করার জন্য প্রপার্টি।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 121+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
ইভেন্ট
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
প্রদত্ত সকেটের জন্য UDP প্যাকেট পাওয়া গেলে ইভেন্ট তৈরি হয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(info: ReceiveInfo) => void
-
তথ্য
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
সকেট অ্যাড্রেস ও পোর্টে ডেটার জন্য রানটাইম অপেক্ষা করার সময় নেটওয়ার্কের সমস্যা হলে ইভেন্ট তৈরি হয়। এই ইভেন্টটি উত্থাপিত হলে, সকেটটি পজ করা হয় এবং সকেটটি আবার চালু না হওয়া পর্যন্ত এই সকেটের জন্য আর কোনও onReceive ইভেন্ট উত্থাপিত হবে না।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(info: ReceiveErrorInfo) => void
-
তথ্য
-