একটি সকেট কম্পিউটার নেটওয়ার্ক প্রোগ্রামিং সবচেয়ে মৌলিক প্রযুক্তি এক। সকেট নেটওয়ার্ক সফটওয়্যার অ্যাপ্লিকেশনগুলিকে নেটওয়ার্ক হার্ডওয়্যার এবং অপারেটিং সিস্টেমগুলিতে নির্মিত স্ট্যান্ডার্ড মেকানিজমগুলি ব্যবহার করে যোগাযোগ করতে দেয়।
যদিও এটি ইন্টারনেট সফ্টওয়্যার ডেভেলপমেন্টের আরেকটি বৈশিষ্ট্য মতই শোনা যাচ্ছে, সকেট প্রযুক্তি ওয়েবের আগে অনেক আগে থেকেই বিদ্যমান ছিল। এবং, আজকের বেশিরভাগ জনপ্রিয় নেটওয়ার্ক সফ্টওয়্যার অ্যাপ্লিকেশনগুলি সকেটগুলিতে নির্ভর করে।
সকেট আপনার নেটওয়ার্কের জন্য কি করতে পারেন
একটি সকেট সফটওয়্যারের ঠিক দুটি টুকরা (একটি তথাকথিত বিন্দু বিন্দু সংযোগ)। সফ্টওয়্যারের দুইটির বেশি টুকরা ক্লায়েন্ট / সার্ভারের সাথে যোগাযোগ করতে পারে বা একাধিক সকেট ব্যবহার করে বিতরিত সিস্টেমগুলি সরবরাহ করতে পারে। উদাহরণস্বরূপ, অনেক ওয়েব ব্রাউজার সার্ভারে তৈরি সকেটগুলির মাধ্যমে একক ওয়েব সার্ভারের সাথে একযোগে যোগাযোগ করতে পারে।
সকেট-ভিত্তিক সফ্টওয়্যার সাধারণত নেটওয়ার্কে দুটি পৃথক কম্পিউটারে চালিত হয় তবে সকেটগুলি স্থানীয়ভাবে যোগাযোগ করতে ব্যবহার করা যেতে পারে ( interprocess ) একটি একক কম্পিউটারে। সকেট হয় দ্বিমুখী অর্থাৎ সংযোগের উভয় দিকই ডেটা পাঠানো এবং গ্রহণ করা সক্ষম। কখনও কখনও যোগাযোগের সূচনা করে এমন একটি অ্যাপ্লিকেশনকে "ক্লায়েন্ট" এবং অন্যান্য অ্যাপ্লিকেশন "সার্ভার" বলে অভিহিত করা হয়, তবে এই পরিভাষাটি সহকর্মীকে নেটওয়ার্কিংয়ের সহকর্মীকে বিভ্রান্ত করে এবং সাধারণত এড়ানো উচিত।
সকেট API এবং লাইব্রেরি
স্ট্যান্ডার্ড অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেসগুলি (APIs) বাস্তবায়নের যে কয়েকটি লাইব্রেরি ইন্টারনেটে বিদ্যমান। প্রথম মূলধারার প্যাকেজ - বার্কলে সকেট লাইব্রেরিটি এখনও ইউনিক্স সিস্টেমগুলিতে ব্যাপকভাবে ব্যবহৃত হয়। মাইক্রোসফ্ট অপারেটিং সিস্টেমগুলির জন্য উইন্ডোজ সকেটস (উইনসক) লাইব্রেরি আরেকটি সাধারণ API। অন্যান্য কম্পিউটার প্রযুক্তির সাথে সম্পর্কিত, সকেট API গুলি বেশ পরিপক্ক: 1993 সাল থেকে উইনসক ব্যবহার করা হয়েছে এবং 198২ সাল থেকে বার্কলে সকেটগুলি ব্যবহার করা হয়েছে।
সকেট API গুলি তুলনামূলকভাবে ছোট এবং সহজ। ফাংশনগুলির অনেকগুলি যেমন ফাইল ইনপুট / আউটপুট রুটিনগুলিতে ব্যবহৃত হয় তেমনই পড়া (), লিখতে (), এবং ঘনিষ্ঠ ()। ব্যবহার করা প্রকৃত ফাংশন কলিং প্রোগ্রামিং ভাষা এবং সকেট লাইব্রেরি উপর নির্ভর করে।
সকেট ইন্টারফেস প্রকার
সকেট ইন্টারফেস তিনটি ভাগে বিভক্ত করা যেতে পারে:
- প্রবাহ সকেটগুলি, সর্বাধিক সাধারণ ধরন, দুটি যোগাযোগকারী দলগুলি প্রথমে একটি সকেট সংযোগ স্থাপন করে, যার পরে যে সংযোগের মধ্য দিয়ে যেকোন ডেটা প্রেরণ করা হয় তা একই আদেশে পৌঁছানোর নিশ্চয়তা দেওয়া হবে - তথাকথিত সংযোগ-ভিত্তিক প্রোগ্রামিং মডেল ।
- ডাটাগ্রামের সকেট প্রস্তাব "সংযোগ কম" শব্দার্থবিদ্যা। ডাটাগ্রামগুলির সাথে, সংযোগগুলি স্ট্রিমগুলির সাথে স্পষ্ট নয় বরং অন্তর্নির্মিত। উভয় পক্ষ কেবল প্রয়োজনীয় হিসাবে ডাকগ্রাম পাঠায় এবং অন্য প্রতিক্রিয়া জন্য অপেক্ষা করে; বার্তাগুলি ট্রান্সমিশনে হারিয়ে যেতে পারে বা অর্ডার ছাড়ানো যেতে পারে, তবে এটি এই অ্যাপ্লিকেশনের দায়িত্ব এবং এই সমস্যাগুলি মোকাবেলা করার জন্য সকেট নয়। ডাটাগ্রাম সকেটগুলি বাস্তবায়ন কিছু অ্যাপ্লিকেশনগুলির একটি কর্মক্ষমতা বৃদ্ধি এবং স্ট্রিম সকেট ব্যবহার করে অতিরিক্ত নমনীয়তা প্রদান করতে পারে, কিছু পরিস্থিতিতে তাদের ব্যবহারের ন্যায্যতা।
- তৃতীয় ধরণের সকেট - দী কাঁচা সকেট - TCP এবং UDP এর মত প্রমিত প্রোটোকলের জন্য লাইব্রেরির অন্তর্নির্মিত সহায়তাকে বাইপাস করে। কাঁচা সকেট কাস্টম নিম্ন স্তরের প্রোটোকল উন্নয়নের জন্য ব্যবহৃত হয়।
নেটওয়ার্ক প্রোটোকল মধ্যে সকেট সমর্থন
আধুনিক নেটওয়ার্ক সকেটগুলি সাধারণত ইন্টারনেট প্রোটোকলের সাথে যুক্ত হয় - আইপি, টিসিপি এবং ইউডিপি। ইন্টারনেট প্রোটোকল জন্য সকেট বাস্তবায়ন লাইব্রেরি স্ট্রিমের জন্য টিসিপি, ডাটাগ্রামের জন্য UDP, এবং কাঁচা সকেট জন্য আইপি নিজেই ব্যবহার।
ইন্টারনেটে যোগাযোগ করার জন্য, আইপি সকেট লাইব্রেরিগুলি নির্দিষ্ট কম্পিউটার সনাক্ত করতে আইপি ঠিকানা ব্যবহার করে। ইন্টারনেটের অনেক অংশ নামকরণ পরিষেবাগুলির সাথে কাজ করে, যাতে ব্যবহারকারী এবং সকেট প্রোগ্রামাররা কম্পিউটারের মাধ্যমে নাম ব্যবহার করতে পারে ( উদাহরণস্বরূপ , "thiscomputer.wireless.about.com") ঠিকানা পরিবর্তে ( উদাহরণস্বরূপ , ২08.185.127.40)। স্ট্রীম এবং ডাটাগ্রাম সকেটগুলি আইপি পোর্ট নম্বরগুলি একে অপরের থেকে একাধিক অ্যাপ্লিকেশানগুলি আলাদা করতে ব্যবহার করে। উদাহরণস্বরূপ, ইন্টারনেটে ওয়েব ব্রাউজারগুলি ওয়েব সার্ভারগুলির সাথে সকেট যোগাযোগের জন্য ডিফল্ট হিসাবে পোর্ট 80 ব্যবহার করতে জানে।




