উত্তর:
দু'জনের মধ্যে পার্থক্য বোঝানোর জন্য একটি দুর্দান্ত উপমা পড়েছিলাম। আমার মনে নেই আমি কোথায় এটি পড়েছি দুর্ভাগ্যবশত আমি ধারণার জন্য লেখককে ক্রেডিট করতে পারি না, তবে যাইহোক মূল উপমাতে আমি আমার নিজস্ব জ্ঞানও যুক্ত করেছি। সুতরাং এখানে যায়:
একটি স্ট্রিম সকেট একটি ফোন কলের মতো - একদিকে কল রাখে, অন্য উত্তর দেয়, আপনি একে অপরকে হ্যালো বলে থাকেন (টিসিপিতে এসওয়াইএন / এসি কে), এবং তারপরে আপনি তথ্য বিনিময় করেন। আপনার কাজ শেষ হয়ে গেলে, আপনি বিদায় জানান (টিসিপিতে FIN / ACK) AC যদি এক পক্ষ বিদায় না শোনে তবে তারা সাধারণত অন্যটিকে ডেকে আনবে কারণ এটি একটি অপ্রত্যাশিত ঘটনা; সাধারণত ক্লায়েন্ট সার্ভারের সাথে পুনরায় সংযোগ স্থাপন করবে। গ্যারান্টি রয়েছে যে ডেটা আপনি পাঠিয়েছেন তার চেয়ে আলাদা অর্ডারে আসবে না এবং এর যুক্তিসঙ্গত গ্যারান্টি রয়েছে যে ডেটা ক্ষতিগ্রস্থ হবে না।
একটি ডেটাগ্রামের সকেট ক্লাসে একটি নোট পাস করার মতো। আপনি যে নোটটি নোটটি দিচ্ছেন তার পাশের লোকটি যেখানে নেই তার সরাসরি বিবেচনা করুন; নোটটি ব্যক্তি থেকে অন্য ব্যক্তি ভ্রমণ করবে। এটি তার গন্তব্যে না পৌঁছতে পারে এবং এটি সেখানে পৌঁছে যাওয়ার সময় দ্বারা এটি সংশোধিত হতে পারে। যদি আপনি একই ব্যক্তিকে দুটি নোট পাস করেন তবে তারা এমন কোনও আদেশে পৌঁছতে পারে যা আপনি চান না, যেহেতু নোটগুলি ক্লাসরুমে নিয়ে যায় সে পথটি একই নাও হতে পারে, তাই একজন ব্যক্তি অন্য হিসাবে দ্রুত কোনও নোট পাস করতে পারে না ইত্যাদি। ।
যাতে আপনি যখন স্ট্রিম সকেট ব্যবহার করেন তখন তথ্যগুলি যাতে ক্রমে থাকে এবং অক্ষত থাকে তা গুরুত্বপূর্ণ। ফাইল ট্রান্সফার প্রোটোকলগুলি এখানে একটি ভাল উদাহরণ। আপনি এলোমেলোভাবে এলোমেলোভাবে ক্ষতিগ্রস্ত এবং ক্ষতিগ্রস্থ কিছু ফাইলের সাথে ফাইল ডাউনলোড করতে চান না!
আপনি যখন একটি স্ট্রিমের উচ্চতর ওভারহেডটি চান না (যখন ডিএনএস মূলত একটি ডেটাগ্রাম প্রোটোকল, তাই সার্ভারগুলি পারে অনেকগুলি, অনেক অনুরোধকে খুব তাড়াতাড়ি একবারে সাড়া দিন) বা ডেটা যদি কখনও তার গন্তব্যে পৌঁছে যায় তবে আপনি যখন খুব বেশি যত্নশীল হন না।
ভিওআইপি / গেমের ক্ষেত্রে প্রসারিত করার জন্য, এই জাতীয় প্রোটোকলগুলিতে তাদের নিজস্ব ডেটা-অর্ডারিং প্রক্রিয়া অন্তর্ভুক্ত রয়েছে। তবে যদি কোনও প্যাকেট ক্ষতিগ্রস্ত হয় বা হারিয়ে যায় তবে আপনি পুনরায় প্রেরণের অনুরোধ জানাতে স্ট্রিম প্রোটোকলের (সাধারণত টিসিপি) অপেক্ষা করতে চান না - আপনাকে দ্রুত পুনরুদ্ধার করা দরকার। টিসিপি পুনরুদ্ধার করতে কয়েক মিনিট সময় নিতে পারে, এবং গেমিং বা ভিওআইপির মতো রিয়েলটাইম প্রোটোকলের জন্য এমনকি তিন সেকেন্ড অগ্রহণযোগ্য হতে পারে! ইউডিপির মতো একটি ডেটাগ্রাম প্রোটোকল ব্যবহার করে সফটওয়্যারটি হারানো ডেটা উপেক্ষা করে বা টিসিপি'র চেয়ে শীঘ্রই পুনরায় অনুরোধ করার মাধ্যমে এই জাতীয় ইভেন্টটি খুব দ্রুত পুনরুদ্ধার করতে দেয়।
ভিওআইপি হ'ল সহজেই হারিয়ে যাওয়া ডেটা উপেক্ষা করার জন্য ভাল প্রার্থী - একটি পক্ষ কেবলমাত্র একটি ছোট ব্যবধান শুনতে পাবে, যার সাথে সেলফোনে কারো সাথে কথা বলার সময় যেমন হয় না যখন তারা খুব কম অভ্যর্থনা জানায়। গেমিং প্রোটোকলগুলি প্রায়শই কিছুটা জটিল হয়, তবে গৃহীত পদক্ষেপগুলি সাধারণত হয় নিখোঁজ হওয়া ডেটা উপেক্ষা করে (যদি পরবর্তীকালে প্রাপ্ত ডেটাগুলি যে হারিয়ে যাওয়া ডেটাটিকে সুপারসাইড করে), অনুপস্থিত তথ্যকে পুনরায় অনুরোধ করে বা সম্পূর্ণ রাষ্ট্র আপডেটের জন্য অনুরোধ করে ক্লায়েন্টের অবস্থা সার্ভারের সাথে সিঙ্কে রয়েছে তা নিশ্চিত করুন।
স্ট্রিম সকেট:
ডেটাগ্রাম সকেট:
যদি এটি নেটওয়ার্ক প্রোগ্রামিং হয় তবে আমি মনে করি সকেট থেকে শুরু করা ভাল শুরু হবে।
সকেট = আইপি + পোর্ট
তিন প্রকারের সকেট
স্ট্রিম রয়েছে (টিসিপি, অর্ডার এবং বিতরণের গ্যারান্টিযুক্ত, কোনও সদৃশ নয়, ডেটা, সংযোগ-ভিত্তিক, নির্ভরযোগ্য, একযোগিতাপত্রের জন্য কোনও দৈর্ঘ্য বা চারি সীমানা)
ডেটাগ্রাম (ইউডিপি, প্যাকেট ভিত্তিক, সংযোগহীন, ডেটাগ্রাম) আকার সীমা, ডেটা হারিয়ে যেতে পারে বা নকল করা যেতে পারে, গ্যারান্টিযুক্ত নয়, নির্ভরযোগ্য নয়)
কাঁচা (লোয়ার লেয়ার প্রোটোকল আইপিতে সরাসরি অ্যাক্সেস, আইসিএমপি)
ট্রান্সপোর্ট প্রোটোকলের ধরণের কোনও কঠোর নিয়ম আমি দেখতে পাই না সকেট কী পরিবহন প্রোটোকল ব্যবহার করতে পারে এবং নির্ভরযোগ্যতা ভুল করা উচিত নয় কারণ উভয় প্রান্ত সক্রিয় থাকে ক্ষেত্রে যদি ইউডিপি বাস্তবায়িত হয়।
নির্ভরযোগ্যতা ডেলিভারির নির্ভরযোগ্যতার মতোই বোঝায় যেহেতু টিসিপি ব্যবহার করে ট্রান্সপোর্ট প্রোটোকল হিসাবে ইউডিপিতে নেই sequ এটি নেটওয়ার্ক প্রোটোকল বিশ্লেষক যেমন ওয়্যারশার্ক টিসিপিডাম্প ইত্যাদি ব্যবহার করে আপনার সফ্টওয়্যারটি ঠিক কী করছে তা আরও ভাল is আপনার কাজের সাথে ক্রিয়াকলাপ বা কাগজটিতে মার্জিং তত্ত্বের ধরণ।