chrome.sockets.tcp

বর্ণনা

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

প্রকাশ

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

"sockets"

প্রকারভেদ

CreateInfo

বৈশিষ্ট্য

  • সকেটআইডি

    সংখ্যা

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

DnsQueryType

ক্রোম ১০৩+

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

এনাম

যেকোনো

"ipv4"

"ipv6"

ReceiveErrorInfo

বৈশিষ্ট্য

  • ফলাফল কোড

    সংখ্যা

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

  • সকেটআইডি

    সংখ্যা

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

ReceiveInfo

বৈশিষ্ট্য

  • ডেটা

    অ্যারেবাফার

    প্রাপ্ত ডেটার সর্বোচ্চ আকার হলো bufferSize

  • সকেটআইডি

    সংখ্যা

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

SecureOptions

বৈশিষ্ট্য

SendInfo

বৈশিষ্ট্য

  • bytesSent

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

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

  • ফলাফল কোড

    সংখ্যা

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

SocketInfo

বৈশিষ্ট্য

  • বাফার সাইজ

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

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

  • সংযুক্ত

    বুলিয়ান

    সকেটটি কোনো রিমোট পিয়ারের সাথে সংযুক্ত আছে কিনা তা নির্দেশকারী ফ্ল্যাগ।

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

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

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

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

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

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

  • নাম

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

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

  • থামানো

    বুলিয়ান

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

  • পিয়ার অ্যাড্রেস

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

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

  • পিয়ারপোর্ট

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

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

  • অবিরাম

    বুলিয়ান

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

  • সকেটআইডি

    সংখ্যা

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

SocketProperties

বৈশিষ্ট্য

  • বাফার সাইজ

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

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

  • নাম

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

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

  • অবিরাম

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

    অ্যাপ্লিকেশনটির ইভেন্ট পেজ আনলোড হওয়ার সময় সকেটটি খোলা থাকবে কিনা তা নির্দেশকারী ফ্ল্যাগ (দেখুন অ্যাপ লাইফসাইকেল পরিচালনা )। এর ডিফল্ট মান হলো "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>

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

ফেরত

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

    ক্রোম ১২১+

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

connect()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

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

  • পিয়ার অ্যাড্রেস

    স্ট্রিং

    রিমোট মেশিনের ঠিকানা। ডিএনএস নাম, আইপিভি৪ এবং আইপিভি৬ ফরম্যাট সমর্থিত।

  • পিয়ারপোর্ট

    সংখ্যা

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

  • dnsQueryType

    DnsQueryType ঐচ্ছিক

    ক্রোম ১০৩+

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

  • কলব্যাক

    ফাংশন

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

    (result: number) => void

    • ফলাফল

      সংখ্যা

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

create()

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

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

প্যারামিটার

  • বৈশিষ্ট্য

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (createInfo: CreateInfo) => void

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

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

ফেরত

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

    ক্রোম ১২১+

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

disconnect()

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

সকেটটি বিচ্ছিন্ন করে।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

ফেরত

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

    ক্রোম ১২১+

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

getInfo()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (socketInfo: SocketInfo) => void

    • সকেটইনফো

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

ফেরত

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

    ক্রোম ১২১+

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

getSockets()

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (socketInfos: SocketInfo[]) => void

    • সকেটইনফোস

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

ফেরত

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

    ক্রোম ১২১+

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

secure()

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

সংযুক্ত TCP ক্লায়েন্ট সকেটের মাধ্যমে একটি TLS ক্লায়েন্ট সংযোগ শুরু করুন।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

    ব্যবহারের জন্য বিদ্যমান, সংযুক্ত সকেটটি ব্যবহার করতে হবে।

  • বিকল্পগুলি

    TLS সংযোগের সীমাবদ্ধতা এবং পরামিতি।

  • কলব্যাক

    ফাংশন

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

    (result: number) => void

    • ফলাফল

      সংখ্যা

send()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

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

  • ডেটা

    অ্যারেবাফার

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

  • কলব্যাক

    ফাংশন

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

    (sendInfo: SendInfo) => void

setKeepAlive()

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

একটি TCP সংযোগের জন্য কিপ-অ্যালাইভ কার্যকারিতা চালু বা বন্ধ করে।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

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

  • সক্ষম করুন

    বুলিয়ান

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

  • বিলম্ব

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

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

  • কলব্যাক

    ফাংশন

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

    (result: number) => void

    • ফলাফল

      সংখ্যা

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

setNoDelay()

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

একটি TCP সংযোগের জন্য TCP_NODELAY সেট বা ক্লিয়ার করে। TCP_NODELAY সেট করা হলে Nagle-এর অ্যালগরিদম নিষ্ক্রিয় হয়ে যাবে।

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

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

  • কোনো বিলম্ব নেই

    বুলিয়ান

    সত্য হলে, নেগলের অ্যালগরিদম নিষ্ক্রিয় হয়ে যায়।

  • কলব্যাক

    ফাংশন

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

    (result: number) => void

    • ফলাফল

      সংখ্যা

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

setPaused()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

  • থামানো

    বুলিয়ান

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

ফেরত

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

    ক্রোম ১২১+

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

update()

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

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

প্যারামিটার

  • সকেটআইডি

    সংখ্যা

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

  • বৈশিষ্ট্য

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

ফেরত

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

    ক্রোম ১২১+

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

ইভেন্টগুলি

onReceive

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

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

প্যারামিটার

onReceiveError

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

    (info: ReceiveErrorInfo) => void