chrome.sockets.tcp

বিবরণ

TCP কানেকশন ব্যবহার করে নেটওয়ার্কের মাধ্যমে ডেটা পাঠানো ও পাওয়ার জন্য chrome.sockets.tcp API ব্যবহার করুন। এই API, chrome.socket API-তে আগে পাওয়া TCP কার্যকারিতার স্থান অধিকার করে।

ম্যানিফেস্ট

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

"sockets"

ধরন

CreateInfo

প্রপার্টি

  • socketId

    নম্বর

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

DnsQueryType

Chrome 103+

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

Enum

"যেকোনও"

"ipv4"

"ipv6"

ReceiveErrorInfo

প্রপার্টি

  • resultCode

    নম্বর

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

  • socketId

    নম্বর

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

ReceiveInfo

প্রপার্টি

  • ডেটা

    ArrayBuffer

    ডেটা পাওয়া গেছে, যার সর্বাধিক সাইজ হল bufferSize।

  • socketId

    নম্বর

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

SecureOptions

প্রপার্টি

SendInfo

প্রপার্টি

  • bytesSent

    নম্বর ঐচ্ছিক

    যত বাইট পাঠানো হয়েছে (ফলাফল == ০ হলে)

  • resultCode

    নম্বর

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

SocketInfo

প্রপার্টি

  • bufferSize

    নম্বর ঐচ্ছিক

    ডেটা রিসিভ করার জন্য ব্যবহৃত বাফারের সাইজ। কোনও বাফার সাইজ স্পষ্টভাবে উল্লেখ করা না থাকলে, ভ্যালু প্রদান করা হয় না।

  • কানেক্ট করা আছে

    বুলিয়ান

    সকেটটি কোনও রিমোট পিয়ারের সাথে কানেক্ট করা আছে কিনা তা ইঙ্গিত করার ফ্ল্যাগ।

  • localAddress

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

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

  • localPort

    নম্বর ঐচ্ছিক

    আন্ডারলাইং সকেট কানেক্ট করা থাকলে, এতে লোকাল পোর্ট থাকে।

  • নাম

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

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

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

    বুলিয়ান

    কানেক্ট করা সকেট তার পিয়ারকে আরও ডেটা পাঠানো থেকে ব্লক করে কিনা তা নির্দেশ করার ফ্ল্যাগ (setPaused দেখুন)।

  • peerAddress

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

    আন্ডারলাইং সকেট কানেক্ট করা থাকলে, পিয়ার/ IPv4/6 অ্যাড্রেস থাকে।

  • peerPort

    নম্বর ঐচ্ছিক

    আন্ডারলাইং সকেট কানেক্ট করা থাকলে, পিয়ার পোর্ট থাকে।

  • অবিচ্ছিন্ন

    বুলিয়ান

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

  • socketId

    নম্বর

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

SocketProperties

প্রপার্টি

  • bufferSize

    নম্বর ঐচ্ছিক

    ডেটা রিসিভ করার জন্য ব্যবহৃত বাফারের সাইজ। ডিফল্ট ভ্যালু হল ৪০৯৬।

  • নাম

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

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

  • অবিচ্ছিন্ন

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

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

TLSVersionConstraints

প্রপার্টি

  • সর্বাধিক

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

  • মিঃ

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

    TLS-এর ন্যূনতম ও সর্বাধিক গ্রহণযোগ্য ভার্সন। সাপোর্ট করা ভ্যালু হল tls1.2 বা tls1.3।

    tls1 এবং tls1.1 ভ্যালু আর কাজ করবে না। min-এর ভ্যালু এর মধ্যে কোনও একটিতে সেট করা থাকলে, এটি tls1.2-এ সেট করা হবে। max যদি এইসব ভ্যালুর মধ্যে কোনও একটিতে বা অন্য কোনও শনাক্ত না করা ভ্যালুতে সেট করা হয়, তাহলে সেটি উপেক্ষা করা হবে।

পদ্ধতি

close()

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

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

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

  • socketId

    নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 121+

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

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)
: void

সকেটকে রিমোট মেশিনের সাথে কানেক্ট করে। connect অপারেশন সম্পূর্ণ হলে, পিয়ার থেকে ডেটা পাওয়ার সময় onReceive ইভেন্ট তৈরি হয়। রানটাইম প্যাকেট পাওয়ার সময় নেটওয়ার্কের সমস্যা হলে, onReceiveError ইভেন্ট তৈরি হয়, এই সময় resume পদ্ধতি কল না করা পর্যন্ত এই সকেটের জন্য আর কোনও onReceive ইভেন্ট তৈরি হবে না।

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

  • socketId

    নম্বর

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

  • peerAddress

    স্ট্রিং

    রিমোট মেশিনের অ্যাড্রেস। DNS নাম, IPv4 এবং IPv6 ফর্ম্যাট কাজ করে।

  • peerPort

    নম্বর

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

  • dnsQueryType

    DnsQueryType ঐচ্ছিক

    Chrome 103+

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

  • কলব্যাক

    ফাংশন

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

    (result: number) => void

    • ফলাফল

      নম্বর

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

create()

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

TCP সকেট তৈরি করে।

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

  • প্রপার্টি

    SocketProperties ঐচ্ছিক

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (createInfo: CreateInfo) => void

    • createInfo

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

রিটার্ন

  • Promise<CreateInfo>

    Chrome 121+

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

disconnect()

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

সকেট ডিসকানেক্ট করে।

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

  • socketId

    নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 121+

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

getInfo()

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

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

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

  • socketId

    নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

রিটার্ন

  • Promise<SocketInfo>

    Chrome 121+

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

getSockets()

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

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

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

রিটার্ন

  • Promise<SocketInfo[]>

    Chrome 121+

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

secure()

chrome.sockets.tcp.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)
: void

কানেক্ট করা TCP ক্লায়েন্ট সকেটের মাধ্যমে TLS ক্লায়েন্ট কানেকশন শুরু করুন।

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

  • socketId

    নম্বর

    ব্যবহার করার জন্য আগে থেকে থাকা, কানেক্ট করা সকেট।

  • বিকল্প

    SecureOptions ঐচ্ছিক

    TLS কানেকশনের জন্য সীমাবদ্ধতা ও প্যারামিটার।

  • কলব্যাক

    ফাংশন

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

    (result: number) => void

    • ফলাফল

      নম্বর

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

প্রদত্ত TCP সকেটে ডেটা পাঠায়।

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

  • socketId

    নম্বর

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

  • ডেটা

    ArrayBuffer

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

  • কলব্যাক

    ফাংশন

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

    (sendInfo: SendInfo) => void

    • sendInfo

      send পদ্ধতির ফলাফল।

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

TCP কানেকশনের জন্য 'কিপ-অ্যালাইভ' কার্যকারিতা চালু বা বন্ধ করে।

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

  • socketId

    নম্বর

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

  • চালু কর

    বুলিয়ান

    সত্য হলে, কিপ-অ্যালাইভ কার্যকারিতা চালু করুন।

  • বিলম্ব হবে

    নম্বর ঐচ্ছিক

    শেষ ডেটা প্যাকেট পাওয়া এবং প্রথম কিপঅ্যালাইভ প্রোবের মধ্যে বিলম্বের সেকেন্ড সেট করুন। ডিফল্ট হল ০।

  • কলব্যাক

    ফাংশন

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

    (result: number) => void

    • ফলাফল

      নম্বর

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

setNoDelay()

chrome.sockets.tcp.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)
: void

TCP কানেকশনের জন্য TCP_NODELAY সেট করে বা মুছে দেয়। TCP_NODELAY সেট করা হলে, Nagle-এর অ্যালগরিদম বন্ধ করা হবে।

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

  • socketId

    নম্বর

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

  • noDelay

    বুলিয়ান

    ট্রু হলে, Nagle-এর অ্যালগরিদম বন্ধ করে দেয়।

  • কলব্যাক

    ফাংশন

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

    (result: number) => void

    • ফলাফল

      নম্বর

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

setPaused()

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

অ্যাপ্লিকেশনকে তার পিয়ার থেকে মেসেজ পাওয়ার সুবিধা চালু বা বন্ধ করে। ডিফল্ট ভ্যালু হল "false"। সাধারণত কোনও অ্যাপ্লিকেশন তার পিয়ারের পাঠানো ডেটা থ্রটল করার জন্য সকেট পজ করে। সকেট পজ করা থাকলে, কোনও onReceive ইভেন্ট তৈরি হয় না। সকেট কানেক্ট করা ও আন-পজ করা হলে, মেসেজ পাওয়ার সময় onReceive ইভেন্ট আবার শুরু হয়।

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

  • socketId

    নম্বর

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

    বুলিয়ান

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 121+

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

update()

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

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

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

  • socketId

    নম্বর

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

  • প্রপার্টি

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 121+

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

ইভেন্ট

onReceive

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

প্রদত্ত সকেটের জন্য ডেটা পাওয়া গেলে ইভেন্ট তৈরি হয়।

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

  • কলব্যাক

    ফাংশন

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

    (info: ReceiveInfo) => void

onReceiveError

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

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

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

  • কলব্যাক

    ফাংশন

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

    (info: ReceiveErrorInfo) => void