ইউনিক্স সকেটের সহজ ব্যাখ্যা


20

আমি অনুসন্ধান করতে পারি এবং আমি ইতিমধ্যে উইকিপিডিয়া এন্ট্রি এবং অন্য কয়েকটি জায়গায় দেখেছি, তবে আমার কিছু প্রোগ্রামিং অভিজ্ঞতা থাকলেও আমি সত্যিই ধারণাটি উপলব্ধি করতে পারি না। আপনি কি আমার সাথে 10 বছরের পুরানোের মতো চিকিত্সা করতে পারেন এবং সকেট যোগাযোগের সম্পর্কে পরিষ্কার ব্যাখ্যা দিতে পারেন?


সেগুলি ব্যবহার করে কয়েকটি ছোট পরীক্ষামূলক অ্যাপ্লিকেশন লিখুন। আপনার এমনকি দুটি মেশিনের প্রয়োজন নেই, শুরু করার জন্য মাত্র দুটি ছোট অ্যাপ্লিকেশন। বিঙ্গো।
প্যাট্রিক হিউজেস

নেটওয়ার্ক প্রোগ্রামিংয়ের জন্য বিজের গাইড ইউনিক্স সকেটে খুব জনপ্রিয় পরিচিতি লেখা বলে মনে হচ্ছে, যদিও আমি এটি পছন্দ করতে পারি না।
নেমানজা ত্রিফুনোভিক

আমি ইতিমধ্যে @ ড্যানিয়েলপিটম্যান উত্তরটি অগ্রাহ্য করেছি, যদি আমাকে লিখতে হত তবে আমিও একই উত্তরটি লিখতাম; তবুও, আপনি যদি আরও সহায়তা চান তবে আমি প্রসারিত করব। দয়া করে আপনার প্রশ্নটি সম্পাদনা করুন, আপনি যা জানেন এবং কী জানেন না তার কিছু পটভূমি রাখুন এবং কীভাবে আপনি কীভাবে ব্যবহার করতে পারেন, কীভাবে তারা ভিতরে কাজ করেন, বা তাত্ত্বিক (প্রোটোকল ডিজাইন) বা আপনি চেষ্টা করছেন সে সম্পর্কে সহায়তা খুঁজছেন কিনা তা আমাকে জানতে দিন কিছু উদ্দেশ্যে মূল্যায়ন করতে?
দিপান মেহতা

এখানে একটি বই: ইউনিক্স নেটওয়ার্ক প্রোগ্রামিং । পৃথিবীর যে কেউ এই প্রশ্নের উত্তর দেবে, তারা এই মায়ের কাছ থেকে শিখবে। এই বইটি পড়ুন, আপনার প্রশ্নটি নিজেই আরও ভাল হয়ে উঠবে।
দীপন মেহতা

আপনি কি বিএসডি সকেট বলতে চান? ইউনিক্স সকেটগুলি কেবল স্থানীয়ভাবে কাজ করে।
imel96

উত্তর:


15

আমি আপনাকে একটি উদাহরণ দিতে দাও: বলুন যে আপনি আপনার ঠিকানায় বাস করেন না এমন আপনার বন্ধুর সাথে যোগাযোগ করতে / চ্যাট করতে চান। এটি হওয়ার জন্য, আপনাকে একটি "যোগাযোগের চ্যানেল" স্থাপন করতে হবে। বলুন, আপনি টেলিফোন ব্যবহার করে এই যোগাযোগ করতে চান। আপনি জানেন যে শহরে টেলিফোন লাইনের একটি নেটওয়ার্ক রয়েছে যা প্রতিটি বাড়িতে প্রসারিত।

এখন, আপনার বাড়িতে একটি টেলিফোন সকেট রয়েছে, এবং আপনার বন্ধুদের বাড়িতে একটি। যোগাযোগের জন্য, আপনাকে এবং আপনার বন্ধুকে যোগাযোগের উভয় প্রান্তে সকেটে আপনার ফোনটি প্লাগ করে নেটওয়ার্কে সংযুক্ত করতে হবে। প্রোগ্রামিংয়ের সকেটগুলি টেলিফোনের সকেটের মতো ধারণাগতভাবে একই।

প্রোগ্রামিংয়ে আপনার দুটি প্রক্রিয়া রয়েছে (চলমান প্রোগ্রামগুলি) যা একে অপরের সাথে যোগাযোগ করতে চান। সে জন্য তাদের নিজেদের মধ্যে যোগাযোগের লিঙ্ক স্থাপন করতে হবে। আবার, একটি নেটওয়ার্ক উপলব্ধ আছে, তাদের কেবল কিছু ধরণের সকেট ব্যবহার করে এই নেটওয়ার্কের সাথে সংযোগ স্থাপন করা দরকার। ইউনিক্স সকেটগুলি এমন একটি সকেট যা নেটওয়ার্কে এই সংযোগ / প্লাগযোগ্যতা সরবরাহ করে। সুতরাং, দুটি প্রোগ্রামের প্রতিটিতে আপনার কাছে কিছু কোডের টুকরো থাকবে যা সকেটের মাধ্যমে নেটওয়ার্কের সাথে সংযোগ স্থাপনের কাজ করে।

বাকিগুলি বিশদ।


2
আমার যথেষ্ট খ্যাতি থাকলে আমি এটিকে হ্রাস করব। আপনার পাঠ্যটি সকেট কীভাবে কাজ করে তা ব্যাখ্যা করে না। উইকিপিডিয়ায় ঠিক একই সাধারণ পাঠ্য। কিভাবে সকেট শুনতে হয় ? আপনার টেলিফোন সকেট সংযোগের জন্য কীভাবে শুনতে পারে ?
সবুজ

21

ইউনিক্স সকেটগুলি একটি দ্বি নির্দেশমূলক সকেট - ঠিক একটি আইপি ভিত্তিক সকেটের মতো, যার সাথে আপনি সম্ভবত পরিচিত এবং কোনও পাইপের সাথে একই রকম, যা আপনি সম্ভবত পরিচিত।

তাদের আকর্ষণীয় বৈশিষ্ট্যগুলির একটি ছোট সেট রয়েছে:

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

মূলত, এগুলি অন্য যে কোনও সকেটের সমতুল্য - পাইপগুলির তুলনায় তাদের কিছুটা আকর্ষণীয় বৈশিষ্ট্য রয়েছে, তবে অন্যথায় তা একেবারেই আলাদা নয়। পাইপের তুলনায় সাধারণত তাদের আইপিসি বিলম্ব হয় এবং প্রায়শই বড় বাফার হয় - যদিও আপনি এটি টিউন করতে সক্ষম হতে পারেন, এবং এটি প্ল্যাটফর্মের উপর নির্ভর করে।

মনে রাখার চূড়ান্ত আকর্ষণীয় সম্পত্তি হ'ল তারা ফাইল-সিস্টেমটি তাদের নাম স্থান হিসাবে ব্যবহার করে - তাই কোনও নামহীন পাইপের মতোই কোনও অনামী পাইপের পরিবর্তে সেই সফ্টওয়্যারটিতে পূর্বের কোনও সম্পর্কযুক্ত যোগাযোগ করতে পারে না। (বিমূর্ত নেমস্পেস সকেটগুলি সমান, তবে "ফাইল" পাথের অস্তিত্ব নেই))

এর চেয়ে গভীর কিছু নেই - তাদের কাছে এমন কোনও গোপনীয় গোপন সম্পত্তি নেই যা এগুলিকে একটি সাধারণ পাইপ, বা লোকালহোস্টের সাথে টিসিপি সংযোগের থেকে একেবারে আলাদা করে তোলে।


3
ধন্যবাদ তবে আমি এখনও এটি জটিল এবং যুক্তিতে পূর্ণ find
এলজো ভালুগি

2
এটি আরও ভাল সাহায্য করে কিনা তা দেখার জন্য দয়া করে এক লাইনের উত্তরে এই চেষ্টা করে বিরক্ত হবেন না: "আপনি জানেন যে টিসিপি / আইপি এবং ইউডিপি / আইপি সকেট কীভাবে কাজ করে? এগুলি একই, কেবল আইপি অংশ ব্যতীত।"
ড্যানিয়েল পিটম্যান

আমি অসন্তুষ্ট নই, আমি কেবল বুঝতে চাই। ধন্যবাদ। আমি সেগুলি আরও বিস্তারিতভাবে অধ্যয়ন করব।
এলজো ভালুগি

4
এই পদটি ব্যবহার করে একটি শব্দ সংজ্ঞা দেওয়া (যেমন: "ইউনিক্স সকেট একটি দ্বি নির্দেশামূলক সকেট") এমন কাউকে কিছুই ব্যাখ্যা করে না যে জানে না যে সকেটটি কী শুরু করতে হবে।
ব্রায়ান ওকলি

1

প্রোগ্রামিং লিনাক্স সকেট, পর্ব 1: টিসিপি / আইপি ব্যবহার আমার পক্ষে বেশ ভাল কাজ করেছে। এটি আইপি নেটওয়ার্ক এবং নেটওয়ার্ক স্তরগুলির সাথে পরিচিতি দিয়ে শুরু হয়, তারপরে সি এবং পাইথন উভয় ক্ষেত্রে কীভাবে একটি সহজ ইকো সার্ভার এবং ক্লায়েন্ট প্রয়োগ করা যায় তা দেখিয়ে চলে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.