chrome.sockets.tcpServer

বিবরণ

TCP কানেকশন ব্যবহার করে সার্ভার অ্যাপ্লিকেশন তৈরি করতে chrome.sockets.tcpServer API ব্যবহার করুন। এই API, chrome.socket API-তে আগে পাওয়া TCP কার্যকারিতার স্থান অধিকার করে।

ম্যানিফেস্ট

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

"sockets"

ধরন

AcceptErrorInfo

প্রপার্টি

  • resultCode

    নম্বর

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

  • socketId

    নম্বর

    সার্ভার সকেট আইডেন্টিফায়ার।

AcceptInfo

প্রপার্টি

  • clientSocketId

    নম্বর

    ক্লায়েন্ট সকেট আইডেন্টিফায়ার, অর্থাৎ নতুন তৈরি করা কানেকশনের সকেট আইডেন্টিফায়ার। এই সকেট শনাক্তকারী শুধুমাত্র chrome.sockets.tcp নেমস্পেসের ফাংশনের সাথে ব্যবহার করা উচিত। মনে রাখবেন, ক্লায়েন্ট সকেট প্রথমে পজ করা থাকে এবং ডেটা রিসিভ করা শুরু করতে অ্যাপ্লিকেশনকে অবশ্যই এটি আন-পজ করতে হবে।

  • socketId

    নম্বর

    সার্ভার সকেট আইডেন্টিফায়ার।

CreateInfo

প্রপার্টি

  • socketId

    নম্বর

    নতুন তৈরি করা সার্ভার সকেটের আইডি। মনে রাখবেন, এই API থেকে তৈরি করা সকেট আইডি অন্যান্য API থেকে তৈরি করা সকেট আইডির সাথে মানানসই নয়, যেমন, বন্ধ হয়ে যাওয়া [সকেট](../socket/) API।

SocketInfo

প্রপার্টি

  • localAddress

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

    সকেট শুনলে, এতে লোকাল IPv4/6 অ্যাড্রেস থাকে।

  • localPort

    নম্বর ঐচ্ছিক

    সকেট শুনলে, তার স্থানীয় পোর্ট অন্তর্ভুক্ত করে।

  • নাম

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

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

  • সাময়িক ভাবে থামানো হয়েছে

    বুলিয়ান

    লিসেনিং সকেটে কানেকশন অনুরোধ onAccept ইভেন্টের মাধ্যমে পাঠানো হয়েছে নাকি লিসেনিং কিউ ব্যাকলগে কিউ করা হয়েছে তা ফ্ল্যাগ থেকে জানা যায়। setPaused দেখুন। ডিফল্ট ভ্যালু হল "false"।

  • অবিচ্ছিন্ন

    বুলিয়ান

    অ্যাপ্লিকেশনের ইভেন্ট পৃষ্ঠা আনলোড করা হলে সকেট খোলা থাকবে কিনা তা ফ্ল্যাগ নির্দেশ করে (SocketProperties.persistent দেখুন)। ডিফল্ট ভ্যালু হল "false"।

  • socketId

    নম্বর

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

SocketProperties

প্রপার্টি

  • নাম

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

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

  • অবিচ্ছিন্ন

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

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

পদ্ধতি

close()

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

সকেট ডিসকানেক্ট করে এবং নষ্ট করে দেয়। তৈরি করা প্রতিটি সকেট ব্যবহারের পরে বন্ধ করে দিতে হবে। ফাংশন কল করার সাথে সাথেই সকেট আইডি আর কাজ করে না। তবে, কলব্যাক চালু করা হলেই সকেট বন্ধ হওয়ার গ্যারেন্টি দেওয়া হয়।

প্যারামিটারগুলি

  • socketId

    নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 121+

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

create()

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

TCP সার্ভার সকেট তৈরি করে।

প্যারামিটারগুলি

  • প্রপার্টি

    SocketProperties ঐচ্ছিক

    সকেট প্রপার্টি (ঐচ্ছিক)।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (createInfo: CreateInfo) => void

    • createInfo

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

রিটার্ন

  • Promise<CreateInfo>

    Chrome 121+

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

disconnect()

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

লিসেনিং সকেট ডিসকানেক্ট করে, অর্থাৎ নতুন কানেকশন গ্রহণ করা বন্ধ করে এবং সকেট যে অ্যাড্রেস/পোর্টের সাথে বাউন্ড করা আছে তা রিলিজ করে। সকেট আইডেন্টিফায়ার বৈধ থাকে, যেমন, নতুন পোর্ট ও অ্যাড্রেসে কানেকশন গ্রহণ করার জন্য এটি listen-এর সাথে ব্যবহার করা যেতে পারে।

প্যারামিটারগুলি

  • socketId

    নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 121+

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

getInfo()

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

প্রদত্ত সকেটের স্ট্যাটাস ফিরিয়ে আনে।

প্যারামিটারগুলি

  • socketId

    নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (socketInfo: SocketInfo) => void

    • socketInfo

      সকেট সংক্রান্ত তথ্য সহ অবজেক্ট।

রিটার্ন

  • Promise<SocketInfo>

    Chrome 121+

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

getSockets()

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

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

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      সকেট সংক্রান্ত তথ্য সহ অবজেক্টের অ্যারে।

রিটার্ন

  • Promise<SocketInfo[]>

    Chrome 121+

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

listen()

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

নির্দিষ্ট পোর্ট ও অ্যাড্রেসে কানেকশনের জন্য অপেক্ষা করে। পোর্ট/ঠিকানা ব্যবহার করা হলে, কলব্যাক ব্যর্থতা নির্দেশ করে।

প্যারামিটারগুলি

  • socketId

    নম্বর

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

  • ঠিকানা

    স্ট্রিং

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

  • পোর্ট

    নম্বর

    লোকাল মেশিনের পোর্ট। 0-এ সেট করা হলে, ডায়নামিকভাবে একটি ফ্রি পোর্ট বেছে নেওয়া হয়। getInfo-এ কল করে ডায়নামিক্যালি অ্যালোকেট করা পোর্ট খুঁজে পাওয়া যাবে।

  • ব্যাকলগ

    নম্বর ঐচ্ছিক

    সকেটের লিসেন কিউয়ের দৈর্ঘ্য। ডিফল্ট ভ্যালু অপারেটিং সিস্টেমের (SOMAXCONN) উপর নির্ভর করে, যা বেশিরভাগ অ্যাপ্লিকেশনের জন্য একটি যুক্তিসঙ্গত সারি দৈর্ঘ্য নিশ্চিত করে।

  • কলব্যাক

    ফাংশন

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

    (result: number) => void

    • ফলাফল

      নম্বর

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

setPaused()

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

নতুন কানেকশন গ্রহণ করা থেকে লিসেনিং সকেট চালু বা বন্ধ করে। পজ করা থাকলে, ব্যাকলগ (listen ফাংশন দেখুন) সম্পূর্ণ না হওয়া পর্যন্ত লিসেনিং সকেট নতুন কানেকশন গ্রহণ করে, তারপর অতিরিক্ত কানেকশনের অনুরোধ প্রত্যাখ্যান করে। সকেট আন-পজ করা থাকলে তবেই onAccept ইভেন্ট তৈরি হয়।

প্যারামিটারগুলি

  • socketId

    নম্বর

  • সাময়িক ভাবে থামানো হয়েছে

    বুলিয়ান

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 121+

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

update()

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

সকেট প্রপার্টি আপডেট করে।

প্যারামিটারগুলি

  • socketId

    নম্বর

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

  • প্রপার্টি

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 121+

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

ইভেন্ট

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

সার্ভার সকেটের সাথে কানেকশন তৈরি করা হলে ইভেন্ট শুরু হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

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

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

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

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

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

    (info: AcceptErrorInfo) => void