স্ক্র্যাচ থেকে সার্ভার তৈরি করা একটি বড় কাজ। তবে এটি করা আপনার প্রোগ্রামিং দক্ষতাকে ব্যাপকভাবে উন্নত করতে পারে এবং আপনার প্রয়োজন অনুসারে এটি পরিবর্তন করতে পারে। এই টিউটোরিয়ালটি একটি সার্ভার তৈরি করতে পাইথন এবং নিম্ন স্তরের সকেট প্রোগ্রামিং ব্যবহার করবে যাতে ক্লায়েন্টরা একে অপরের সাথে যোগাযোগ করতে পারে। এটি শুধুমাত্র উইন্ডোতে প্রক্রিয়াটি কভার করবে। কিছু তথ্য নির্দেশাবলীতে দেওয়া হবে, কিন্তু যদি আপনি শুধু কোড চান, তাহলে তা পরিসংখ্যানের মধ্যে দেওয়া আছে। (দ্রষ্টব্য: এখানে উপস্থাপিত নির্দেশাবলী শুধুমাত্র মৌলিক)।
ধাপ
3 এর মধ্যে পদ্ধতি 1: পাইথন ইনস্টল করা
ধাপ 1. পাইথন ডাউনলোড করুন।
পাইথনের প্রধান ওয়েবসাইটে যান এবং পাইথন 2.7.10 ডাউনলোড করুন। এটি ডিফল্ট সেটিংস সহ পাইথন ইনস্টলারের ধাপগুলি ডাউনলোড করার পরে। এই লিঙ্কটি এখানে দেওয়া হয়েছে
ধাপ 2. চালান IDLE (Python GUI)।
Python 2.7 ফোল্ডারে যান এবং IDLE (Python GUI) চালান, Python এখন আপনার স্টার্ট মেনুতে থাকা উচিত যেখানে IDLE অবস্থিত।
পদক্ষেপ 3. একটি নতুন ফাইল তৈরি করুন।
নতুন খোলা উইন্ডোর উপরের বাম কোণে ফাইলটিতে যান এবং নতুন ফাইল নির্বাচন করুন, আপনার শিরোনামহীন শিরোনাম সহ একটি ফাঁকা উইন্ডো খোলা থাকা উচিত।
3 এর 2 পদ্ধতি: সার্ভার তৈরি করা
পদক্ষেপ 1. প্রয়োজনীয় মডিউল আমদানি করুন।
এই কোডের জন্য প্রয়োজনীয় দুটি মডিউল হল "সকেট" এবং "থ্রেডিং"। এটি "সকেট আমদানি থেকে" প্রথম লাইনে এবং পরবর্তী লাইনে "আমদানি থ্রেডিং" টাইপ করে করা যেতে পারে।
ধাপ 2. একটি নতুন থ্রেড তৈরি করুন।
এটি 2 ক্লায়েন্টকে একে অপরের সাথে সামলাবে। থ্রেড হচ্ছে এমন প্রক্রিয়া যা মূল প্রোগ্রাম চলাকালীন চলতে পারে। চিত্রটি যেভাবে দেখায় ঠিক সেভাবে টাইপ করুন। এটি থ্রেডে ভেরিয়েবল সেট করবে যাতে পরে তাদের বলা যায়।
ধাপ 3. থ্রেড প্রক্রিয়া তৈরি করুন।
ক্লায়েন্টদের সরাসরি যোগাযোগ করার জন্য আপনাকে একে অপরের তথ্য পাঠাতে হবে, যার মধ্যে তাদের আইপি ঠিকানা এবং তারা কোন পোর্ট ব্যবহার করছে। এটি করার জন্য আপনাকে অবশ্যই একটি সকেট অবজেক্ট তৈরি করতে হবে যা “variableName = socket (AF_NET, SOCK_DGRAM)” দিয়ে করা যাবে। এটি একটি সকেট বস্তু তৈরি করবে যা UDP প্রোটোকল ব্যবহার করে। পরবর্তীতে সকেটকে আপনার IP ঠিকানায় একটি নির্দিষ্ট পোর্ট নম্বরের সাথে "roomSocket.bind (('', self.port)) দিয়ে আবদ্ধ করুন। ফাঁকা এলাকা আপনার স্থানীয় পিসি আইপি ঠিকানার জন্য দাঁড়িয়ে আছে আপনার স্থানীয় এলাকা নেটওয়ার্কের মধ্যে এবং self.port বরাদ্দ করে যখন আপনি এই থ্রেডটি কল করেন তখন পোর্ট নম্বর অন্তর্ভুক্ত করা হয়। এই সকেটের সাথে আপনার শেষ কাজটি হল এটির মাধ্যমে তথ্য প্রেরণ করা। যেহেতু এটি একটি ইউডিপি সকেট তাই আপনাকে কেবল কম্পিউটারের আইপি এবং পোর্ট জানতে হবে যেটি আপনি তথ্য পাঠাচ্ছেন, পাঠানোর সিনট্যাক্স হল "socketName.sendto (IP, port)"
ধাপ 4. গ্লোবাল ভেরিয়েবল তৈরি করুন।
এই ধাপের জন্য আপনাকে বেশ কয়েকটি ভেরিয়েবল সংজ্ঞায়িত করতে হবে, যার মধ্যে একটি ব্যবহারকারীর তালিকা, পোর্ট নম্বর, ক্লায়েন্ট গণনা, থ্রেডের ক্লায়েন্ট এবং রুম আইডি অন্তর্ভুক্ত রয়েছে। আপনাকে একটি সকেট তৈরি করতে হবে যাতে আপনার সার্ভার ইন্টারনেটের সাথে যোগাযোগ করতে পারে। এটি একটি নতুন সকেট অবজেক্ট তৈরি করে এবং এটি একটি নির্দিষ্ট পোর্ট নম্বর দিয়ে আপনার আইপি ঠিকানায় বাঁধিয়ে করা হয়। (পোর্ট নম্বর যেকোন কিছু হতে পারে কিন্তু এটি সাধারণত অন্য কোন প্রক্রিয়া ব্যবহার না করে বা সংরক্ষিত পোর্ট নম্বর ব্যবহার করা এড়ানোর জন্য উচ্চতর কিছু।)
ধাপ 5. প্রধান সার্ভার প্রক্রিয়া তৈরি করুন।
এটি ক্লায়েন্টের ঠিকানা নেবে এবং আগে তৈরি থ্রেড শুরু করবে। এর মধ্যে রয়েছে বাফার থেকে ডেটা পাওয়ার অপেক্ষা করা এবং ক্লায়েন্টের ঠিকানা পাওয়া এবং থ্রেডে ব্যবহারের জন্য সেভ করা। আপনার সকেট থেকে তথ্য পাওয়ার উপায় হল "socketName.recvfrom (1024)" দ্বারা কল করা, এখানে নম্বরটি কেবলমাত্র বাইটের পরিমাণ যা একবারে পড়া হয়। এই উদাহরণে আমরা এটিকে ইউজারএডআর নামে একটি ভেরিয়েবলে সংরক্ষণ করছি, এবং একবার এটি হয়ে গেলে আপনি এই ঠিকানাটি 4 নং ধাপে তৈরি তালিকায় সংরক্ষণ করতে পারেন। যখন দুটি ভিন্ন সংযোগ ঘটে।
পদক্ষেপ 6. আপনার কাজ সংরক্ষণ করুন।
এটি এমন একটি ডিরেক্টরিতে করা উচিত যা সহজেই পাওয়া যায় যাতে এটি পরীক্ষার জন্য সহজেই অ্যাক্সেস করা যায়।
পদ্ধতি 3 এর 3: পরীক্ষা
ধাপ 1. একটি পরীক্ষা ক্লায়েন্ট তৈরি করুন।
এটি একটি খুব মৌলিক ক্লায়েন্ট যা শুধুমাত্র সার্ভার অন্য ক্লায়েন্টের তথ্য বর্তমান ক্লায়েন্টকে পাঠিয়েছে কিনা তা পরিচালনা করবে। দয়া করে মনে রাখবেন যে সার্ভার কোডের বিপরীতে, এই কোডটির জন্য একটি সার্ভারের নাম প্রয়োজন। আপনি যদি এই সব একটি কম্পিউটারে চালাচ্ছেন, সার্ভারের নাম আপনার পিসির নাম হওয়া উচিত। আপনি আমার কম্পিউটারে ডান ক্লিক করে এবং বৈশিষ্ট্যে গিয়ে আপনার কম্পিউটারের নাম খুঁজে পেতে পারেন।
পদক্ষেপ 2. আপনার কাজ সংরক্ষণ করুন।
এটি সার্ভার কোডের মতো একই ডিরেক্টরিতে থাকা উচিত।
ধাপ 3. তিনটি ভিন্ন কমান্ড উইন্ডো খুলুন।
স্টার্ট মেনুতে যান এবং সার্চ বারে "cmd" টাইপ করুন এবং এন্টার চাপুন। এটি তিনবার করুন। জানালাগুলি এইরকম হওয়া উচিত।
ধাপ 4. প্রোগ্রামগুলি চালান।
কমান্ড উইন্ডো ব্যবহার করার সময় আপনাকে সঠিক পথ টাইপ করতে হবে। আপনাকে প্রথমে একটি কমান্ড উইন্ডোতে সার্ভার কোড চালাতে হবে এবং তারপরে অন্য দুটিতে ক্লায়েন্ট কোড পরীক্ষা করতে হবে। সবকিছু সফল হলে আপনি আপনার উইন্ডোতে কিছু বার্তা পাবেন।
সতর্কবাণী
- এই প্রোগ্রামটি তখনই কাজ করবে যখন এটি চালানো হবে এবং একই লোকাল এরিয়া নেটওয়ার্কে ক্লায়েন্টদের পরীক্ষা করা হবে।
- পাইথন ২…১০ পুরানো এবং এর সমর্থনের শেষের দিকে। ভাল সার্ভার তৈরি করা চালিয়ে যাওয়ার জন্য, এটি সুপারিশ করা হয় যে পাইথন 3 এর সর্বশেষ সংস্করণটি ইনস্টল করা হয়েছে।