সুচিপত্র:

পাইথনে নেটক্যাট: 6 টি ধাপ
পাইথনে নেটক্যাট: 6 টি ধাপ

ভিডিও: পাইথনে নেটক্যাট: 6 টি ধাপ

ভিডিও: পাইথনে নেটক্যাট: 6 টি ধাপ
ভিডিও: পাইথন 🐍 কী,কেন এবং কীভাবে?[স্টেপ বাই স্টেপ] 📚 What is Python in Bangla? 2024, নভেম্বর
Anonim
পাইথনে নেটক্যাট
পাইথনে নেটক্যাট

নেটক্যাট কি? নেটক্যাটের জন্য ম্যানুয়াল পৃষ্ঠাটি নিম্নলিখিতটি বলে: "এনসি (বা নেটক্যাট) ইউটিলিটি সূর্যের নীচে টিসিপি, ইউডিপি, বা ইউনিক্স-ডোমেইন সকেট যুক্ত যেকোন কিছুর জন্য ব্যবহার করা হয়। এটি টিসিপি সংযোগ খুলতে পারে, ইউডিপি প্যাকেট পাঠাতে পারে, নির্বিচারে শুনতে পারে। টিসিপি এবং ইউডিপি পোর্ট, পোর্ট স্ক্যানিং এবং আইপিভি 4 এবং আইপিভি 6 উভয়ই মোকাবেলা করে।"

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

ধাপ 1: আমরা কিভাবে শুরু করব?

আমরা কিভাবে শুরু করব?
আমরা কিভাবে শুরু করব?

উপরে কিভাবে নেটক্যাট বলা হয়। আপনি দেখতে পাচ্ছেন যে "গন্তব্য" এবং "বন্দর" নামে দুটি যুক্তি আছে। গন্তব্য বলতে আমরা যে সার্ভারের সাথে সংযোগ করার চেষ্টা করছি তার একটি হোস্টনাম বা আইপি ঠিকানা বোঝায়, যখন পোর্টটি আমরা যে সার্ভারের সাথে সংযোগ করার চেষ্টা করছি তার পোর্টকে বোঝায়।

পদক্ষেপ 2: শুরু করা যাক

চল শুরু করি
চল শুরু করি

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

ধাপ 3: একটি সংযোগ তৈরি করা

একটি সংযোগ তৈরি করা
একটি সংযোগ তৈরি করা

আসুন একটি নেটক্যাট ফাংশন তৈরি করি যা আমরা ব্যবহার করতে পারি। আমরা মূলত এখানে যা করছি তা হল একটি সকেট তৈরি করা এবং প্রদত্ত প্যারামিটার ব্যবহার করে সার্ভারের সাথে সংযোগ স্থাপন করা। নেটক্যাট কমান্ডের জন্য, বর্তমান পরামিতি হল সার্ভারের হোস্টনাম এবং পোর্ট যা আমরা সংযোগ করার চেষ্টা করছি। সকেটে "socket. AF_INET" এবং "socket. SOCK_STREAM" প্যারামিটার রয়েছে কারণ আমরা এই টিউটোরিয়ালের জন্য একটি TCP সংযোগে ডিফল্ট হয়ে যাচ্ছি।

ধাপ 4: কিছু সামগ্রী পাঠাতে দিন

কিছু কন্টেন্ট পাঠানো যাক
কিছু কন্টেন্ট পাঠানো যাক

আমরা তৃতীয় প্যারামিটার, "কন্টেন্ট" নেওয়ার জন্য আমাদের নেটক্যাট ফাংশন বাড়িয়েছি। এখানে প্রচুর বিষয়বস্তু আছে তাই আসুন এটিকে লাইন নম্বর দিয়ে ভেঙে ফেলি।

লাইন 14-16: আমরা সকেটের উপর সমস্ত সামগ্রী প্রেরণ করি, আমরা কিছুক্ষণ অপেক্ষা করি, এবং তারপরে আমরা সকেটটি যে কোনও আউটগোয়িং ডেটাতে বন্ধ করি যাতে সকেট জানে যে আর কোনও ডেটা আসছে না।

লাইন 18-26: আমরা সার্ভারের প্রতিক্রিয়া সংরক্ষণের জন্য একটি বাফার তৈরি করি, এবং যখন সকেট ডেটা গ্রহণ করছে, আমরা যতক্ষণ পর্যন্ত তথ্য পড়ার জন্য 1024 বাইট পর্যন্ত ডেটা যুক্ত করি।

লাইন ২-2-২9: আমরা চাই এই নেটক্যাট সংযোগটি এক সময়ের সংযোগ, তাই আমরা সংযোগ বন্ধ ঘোষণা করি এবং তারপর সংযোগ বন্ধ করি।

লাইন 31: এটি একটি আদর্শ HTTP অনুরোধ। আপনি যদি কমান্ড লাইন আর্গুমেন্ট "google.com" এবং "80," দিয়ে কোড চালান তাহলে আপনি একটি সঠিক HTTP প্রতিক্রিয়া দেখতে পাবেন

ধাপ 5: একটি খোলা সংযোগ আছে

একটি খোলা সংযোগ আছে যাক
একটি খোলা সংযোগ আছে যাক

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

লাইন 31: "ইন্টারেক্টিভনেস" বজায় রাখার জন্য আমরা অনির্দিষ্টকালের জন্য কমান্ডগুলি পড়তে চাই

লাইন 32: এটি আমাদের বাফার যা আমাদের অনুরোধের বিষয়বস্তু সংরক্ষণ করবে

লাইন 36-45: আমরা বাফারে পড়ব যতক্ষণ না আমরা একটি ফাঁকা লাইন পড়ি

লাইন 48: আমরা কেবল আমাদের নেটক্যাট ফাংশনটিকে হোস্টনাম, পোর্ট এবং নতুন তৈরি সামগ্রী দিয়ে কল করি (যা সঠিকভাবে এনকোড করা আছে)

লাইন 50: যদি আমাদের বাফারের বিষয়বস্তুতে কখনও "সংযোগ: বন্ধ" থাকে (ইঙ্গিত করে যে আমরা সংযোগটি বন্ধ করতে চাই), আমরা কেবল লুপ থেকে বেরিয়ে আসি

ধাপ 6: উপসংহার

এই টিউটোরিয়ালের শেষে আপনার একটি ন্যূনতম কাজ নেটক্যাট বাস্তবায়ন হওয়া উচিত। আমি এটি ব্যবহারকারীদের জন্য একটি ব্যায়াম হিসাবে ছেড়ে দেব যেমন বৈশিষ্ট্যগুলি বাস্তবায়ন করতে:

1. অন্যান্য প্রোটোকল সমর্থন করে

2. প্রতিটি সময় সংযোগ বন্ধ না করার জন্য কোড ঠিক করা

3. নেটকাটকে ইতিমধ্যেই আচরণ পরিবর্তন করতে হবে এমন পতাকা যুক্ত করা

প্রস্তাবিত: