মাল্ট্রিথ্রেড সার্ভার হিসাবে নেটক্যাট


12

আমি এর মতো একটি সাধারণ সার্ভার চালানোর জন্য নেটক্যাট ব্যবহার করি:

while true; do nc -l -p 2468 -e ./my_exe; done

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

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


আপনি সটাত ব্যবহার করতে পারেন
সিভান

উত্তর:


18

আপনি এই কাজের জন্য ভুল সরঞ্জামটি ব্যবহার করছেন: ucspi-tcp , বিশেষত tcpserver এর মতো কিছু ব্যবহার করুন :

tcpserver waits for incoming connections and, for each connection, 
runs a program of your choice.

2
আমার সারাজীবন কোথায় ছিল ?!
শ্রীধর সারনোবাত

ধন্যবাদ @ কাকিরা, আপনি উদাহরণ প্রদান করতে পারেন?
সাব্রিনা

3

যদিও আপনি যে অপারেটিং সিস্টেমটি ব্যবহার করছেন তা উল্লেখ না করলেও আমি শেল কমান্ড উদাহরণটির বাক্য গঠন ভিত্তিক করে এটি লিনাক্স বা ইউনিক্স ধরে নেব।

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


-2

আপনি সম্ভবত প্রক্রিয়াটির ব্যাকগ্রাউন্ড করতে পারেন (তারপরে এটি পরবর্তী লুপে পা রাখার আগে কোনও ফেরার অপেক্ষা রাখে না) যেমন: '&' দিয়ে:

while true; do nc -l -p 2468 -e ./my_exe &; done

7
এটি উপ-প্রক্রিয়াগুলির প্রচুর পরিমাণে উত্থাপন করবে এবং সিস্টেমটি ক্র্যাশ করবে ....
জ্যাকউয়ার্দি

5
এবং, শুধুমাত্র প্রথম প্রার্থনা কাজ করবে; উত্তরসূরির প্রত্যেকটি ব্যর্থ হবে কারণ ইতিমধ্যে 2468 বন্দরটিতে একটি সার্ভার সকেট রয়েছে
ড্যানিয়েল গ্রিসকোম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.