সকেট এক থেকে এক। আপনি একই জিনিস একাধিক প্রক্রিয়াতে প্রেরণ করতে চাইলে আপনার একাধিক সকেট প্রয়োজন need ভাগ করা মেমরির সাথে আপনার একাধিক পাঠক এবং একাধিক লেখক থাকতে পারে।
সকেটগুলি সংস্থান নিবিড় হয়। প্রতিটি বার্তা ওএসের মধ্য দিয়ে যায়। ভাগ করা মেমরির সাহায্যে আপনি ভাগ করে নেওয়া মেমরিটি ম্যাপ করেন তবে একবার আপনার অ্যাপ্লিকেশনটির স্মৃতিতে এবং তারপরে এটি আপনার ব্যবহারের। যাইহোক, আপনি ভাগ করা মেমরি ব্যবহার করার সময় আপনাকে এখনও ওএসের মধ্য দিয়ে যেতে হবে; নিচে দেখ.
সকেটগুলি সিঙ্ক্রোনাইজ করা হয় (যতক্ষণ আপনি ইউডিপি ব্যবহার করবেন না)। ভাগ করা মেমরির সাথে, অন্য প্রসেসগুলি জানাতে আপনার প্রায় অনিবার্যভাবে কিছু অতিরিক্ত প্রক্রিয়া প্রয়োজন যা ভাগ করে নেওয়া মেমোরিটি পড়তে বা লিখতে ঠিক নয় / ঠিক নয়। এটি করবেন না এবং আপনি দূষিত মেমরির সমস্যার মধ্যে চলে যাবেন। উদাহরণ: ধরুন প্রক্রিয়া A একটি খণ্ডিত ভাগ করা মেমরি পড়তে শুরু করে তবে পঠনের মধ্য দিয়ে অদৃশ্য হয়ে যায়। প্রক্রিয়া বি ভাগ করা মেমরির একই অংশে লিখেছে। প্রক্রিয়া যখন পুনরায় আরম্ভ হয় এবং ভাগ করা মেমরি পড়া চালিয়ে যায়, এতে যা পড়েছে তা হ'ল পুরানো এবং নতুন ডেটার একটি ম্যাসম্যাশ। এটি রোধ করতে আপনি যখন ভাগ করা মেমরি ব্যবহার করছেন তখনও আপনি ওএসের মধ্য দিয়ে যেতে পারেন।
সকেট-ভিত্তিক অ্যাপ্লিকেশনগুলির সেটগুলিকে নেটওয়ার্ক সকেট ব্যবহার করে এমন একটিতে রূপান্তর করা মোটামুটি সহজ। আপনি আপনার ল্যাবটিতে থাকা সমস্ত মেশিনে, এমনকি আরও সামনের দিকে প্রসেসিং ছড়িয়ে দিতে পারেন। শুধু ভাগ করা মেমরি দিয়ে এটি করতে পারবেন না। আপনি একটি ভাগ করা মেমরি-ভিত্তিক সমাধান সহ একটি মেশিনে লক হয়ে গেছেন।
সকেটগুলি ডেটা ভলিউমের জন্য কম পরিমাণে ডেটা, ভাগ করা মেমরির জন্য উদ্দিষ্ট। বিভিন্ন সমস্যা সমাধানের জন্য বিভিন্ন প্রক্রিয়া বিদ্যমান।