Stream Sockets (TCP)

Computer Programming - ইউনিক্স সকেট (Unix Socket) Socket Types এবং এর প্রকারভেদ (Types of Sockets) |
284
284

Stream Sockets হলো Unix এবং Unix-ভিত্তিক সিস্টেমে সবচেয়ে সাধারণ এবং বহুল ব্যবহৃত সোকেট টাইপ। এটি TCP (Transmission Control Protocol) প্রোটোকলের ওপর ভিত্তি করে কাজ করে, যা একটি নির্ভরযোগ্য, অর্ডার মেইনটেনিং, এবং কানেকশন-অরিয়েন্টেড যোগাযোগ ব্যবস্থা প্রদান করে। Stream Sockets মূলত ক্লায়েন্ট-সার্ভার ভিত্তিক অ্যাপ্লিকেশন এবং নেটওয়ার্ক পরিষেবা ডেভেলপ করার জন্য ব্যবহৃত হয়, যেমন ওয়েব সার্ভার, ডাটাবেস সার্ভার, এবং ইমেইল সার্ভার।

Stream Sockets (TCP)-এর বৈশিষ্ট্য

কানেকশন-অরিয়েন্টেড:

  • Stream Sockets একটি নির্ভরযোগ্য কানেকশন স্থাপন করতে সক্ষম। এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে একটি টু-ওয়ে (দুই দিকের) যোগাযোগ নিশ্চিত করে।
  • TCP কানেকশন স্থাপনের সময় "থ্রি-ওয়ে হ্যান্ডশেক" (Three-Way Handshake) পদ্ধতি ব্যবহার করা হয়, যা নিরাপদ এবং স্থিতিশীল সংযোগ নিশ্চিত করে।

রিলায়েবল এবং অর্ডারড ডেটা ট্রান্সমিশন:

  • TCP প্রোটোকল ব্যবহার করার কারণে Stream Sockets ডেটা প্যাকেটের সঠিক অর্ডারে ডেলিভারি নিশ্চিত করে। এটি নিশ্চিত করে যে ডেটা সম্পূর্ণ এবং সঠিকভাবে পৌঁছেছে।
  • প্যাকেট হারানোর ঘটনা ঘটলে, Stream Sockets সেই প্যাকেট পুনরায় পাঠানোর চেষ্টা করে, যা ডেটার ইন্টিগ্রিটি বজায় রাখে।

স্ট্রিম ভিত্তিক ডেটা ট্রান্সফার:

  • Stream Sockets একটি ধারাবাহিক ডেটা স্ট্রিম পাঠায়, যা ফাইল ট্রান্সফার, HTTP রিকুয়েস্ট, বা ইমেইল আদান-প্রদানের মতো ক্ষেত্রে কার্যকর। এটি ডেটাকে প্যাকেট আকারে না পাঠিয়ে ধারাবাহিকভাবে একটি স্ট্রিম আকারে পাঠায়।

দুই-দিকের যোগাযোগ (Full Duplex):

  • Stream Sockets দুই দিকেই ডেটা পাঠাতে এবং গ্রহণ করতে পারে। এটি ক্লায়েন্ট এবং সার্ভার উভয়কে ডেটা পাঠানো ও ডেটা গ্রহণ করার সুযোগ দেয়, যা রিয়েল-টাইম কমিউনিকেশন এবং নেটওয়ার্ক অ্যাপ্লিকেশনের জন্য উপযোগী।

Stream Sockets-এর ব্যবহার

Stream Sockets মূলত বিভিন্ন ক্লায়েন্ট-সার্ভার ভিত্তিক অ্যাপ্লিকেশন এবং নেটওয়ার্ক পরিষেবা ডেভেলপ করতে ব্যবহৃত হয়। এটি TCP প্রোটোকলের মাধ্যমে ডেটা ট্রান্সফার করে, যা বিভিন্ন অ্যাপ্লিকেশনে নিরাপদ এবং নির্ভরযোগ্য যোগাযোগ নিশ্চিত করে।

Stream Sockets-এর সাধারণ ব্যবহারক্ষেত্র:

  1. ওয়েব সার্ভার (HTTP/HTTPS):
    • Web Servers (যেমন Apache, Nginx) ক্লায়েন্টদের HTTP বা HTTPS রিকুয়েস্ট গ্রহণ করতে Stream Sockets ব্যবহার করে এবং রেসপন্স পাঠায়।
  2. ডাটাবেস সার্ভার:
    • MySQL, PostgreSQL-এর মতো ডাটাবেস সার্ভারগুলো ক্লায়েন্ট অ্যাপ্লিকেশনগুলোর সাথে সংযোগ স্থাপন করতে Stream Sockets ব্যবহার করে।
  3. ইমেইল সার্ভার (SMTP/IMAP/POP3):
    • ইমেইল সার্ভারগুলো Stream Sockets-এর মাধ্যমে ক্লায়েন্ট এবং অন্যান্য সার্ভারের সাথে ইমেইল আদান-প্রদান করে।
  4. ফাইল ট্রান্সফার অ্যাপ্লিকেশন (FTP):
    • FTP সার্ভার এবং ক্লায়েন্ট অ্যাপ্লিকেশনগুলো ফাইল ট্রান্সফারের জন্য Stream Sockets ব্যবহার করে।

Stream Sockets-এর কার্যপদ্ধতি

Stream Sockets TCP প্রোটোকল অনুসরণ করে কাজ করে। নিচে Stream Sockets ব্যবহার করে ক্লায়েন্ট এবং সার্ভারের মধ্যে কানেকশন স্থাপনের একটি সাধারণ কার্যপদ্ধতি দেওয়া হলো:

Socket তৈরি: প্রথমে, সার্ভার একটি Socket তৈরি করে socket() ফাংশনের মাধ্যমে, যেখানে AF_INET বা AF_INET6 (IPv4 বা IPv6) এবং SOCK_STREAM (Stream Socket) প্যারামিটার হিসেবে ব্যবহার করা হয়।

Binding: এরপর, সার্ভার bind() ফাংশনের মাধ্যমে একটি নির্দিষ্ট IP Address এবং Port Number-এ Socket-কে সংযুক্ত করে।

Listening: সার্ভার listen() ফাংশনের মাধ্যমে ইনকামিং সংযোগের জন্য অপেক্ষা করে এবং এক বা একাধিক ক্লায়েন্টের সংযোগ গ্রহণের জন্য প্রস্তুত থাকে।

Accepting Connection: যখন কোনো ক্লায়েন্ট সংযোগ স্থাপন করতে চায়, তখন সার্ভার accept() ফাংশনের মাধ্যমে সেই সংযোগ গ্রহণ করে এবং একটি নতুন Socket তৈরি করে, যা ডেটা আদান-প্রদানের জন্য ব্যবহৃত হয়।

Data Transfer: কানেকশন স্থাপিত হলে, ক্লায়েন্ট এবং সার্ভার send() এবং recv() ফাংশনের মাধ্যমে ডেটা পাঠানো এবং গ্রহণ করতে পারে।

Closing the Connection: যোগাযোগ শেষ হলে, ক্লায়েন্ট এবং সার্ভার উভয়েই close() ফাংশনের মাধ্যমে Socket বন্ধ করে দেয়।

Stream Sockets-এর সুবিধা

  • নির্ভরযোগ্য এবং নিরাপদ যোগাযোগ: Stream Sockets নির্ভরযোগ্য ডেটা ডেলিভারি নিশ্চিত করে এবং TCP প্রোটোকলের সিকিউরিটি ফিচার ব্যবহার করে নিরাপত্তা প্রদান করে।
  • দুই-দিকের ডেটা ট্রান্সমিশন: এটি একই সময়ে ডেটা পাঠাতে এবং গ্রহণ করতে সক্ষম।
  • স্ট্রিম ভিত্তিক ট্রান্সফার: ধারাবাহিক ডেটা ট্রান্সফারের জন্য Stream Sockets আদর্শ, যা ফাইল ট্রান্সফার এবং HTTP রিকুয়েস্টের জন্য কার্যকর।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion