আমি একটি স্ক্রিপ্ট থেকে নিম্নলিখিত আদেশটি সম্পাদন করছি:
echo '{"hostUp": true}' | sudo /usr/local/bin/netcat localhost 8001
তবে নেটকাট ক্লায়েন্ট অনির্দিষ্টকালের জন্য খোলা থাকে। এই ডেটা পাঠানোর পরে আমি কীভাবে সংযোগটি বন্ধ করব?
আমি একটি স্ক্রিপ্ট থেকে নিম্নলিখিত আদেশটি সম্পাদন করছি:
echo '{"hostUp": true}' | sudo /usr/local/bin/netcat localhost 8001
তবে নেটকাট ক্লায়েন্ট অনির্দিষ্টকালের জন্য খোলা থাকে। এই ডেটা পাঠানোর পরে আমি কীভাবে সংযোগটি বন্ধ করব?
উত্তর:
অন্য দেওয়া -c
এবং -q
দেওয়া উভয় উত্তরই সঠিক প্রসঙ্গে সঠিক, তবে কেন একাধিক উত্তর রয়েছে তা সংক্ষিপ্ত করতে এবং আরও সাধারণ সমাধান দিতে সহায়তা করতে পারে।
এই বিভিন্ন বিকল্পগুলি একই কাজ করে তবে নেটকাটের বিভিন্ন প্রয়োগ:
-c
নেটকাটের জিএনইউ বাস্তবায়ন-q
নেটবিটের ওপেনবিএসডি বাস্তবায়ন। -w
(অন্যান্য?) নেটক্যাট ওপেনবিএসডি বাস্তবায়ন। কিছু সংস্করণে বিকল্পগুলি -q
এবং -w
বিকল্পগুলির জন্য প্রস্থান করার আগে অপেক্ষা করার জন্য সেকেন্ডের সংখ্যা নির্দিষ্ট করার জন্য একটি int প্রয়োজন require সংস্করণটির উপর নির্ভর করে এই ইনট অবশ্যই হবে > 0
বা >= 0
।
আপনি যদি একাধিক মেশিন জুড়ে কিছু বাস্তবায়ন করে থাকেন এবং নিশ্চিত হন না যে তারা নেটকটের একই প্রয়োগ ব্যবহার করে তবে আপনি timeout
কয়েক সেকেন্ড পরে নেটক্যাটটি হ্রাস করতে প্রোগ্রামের সাথে আপনার নেটক্যাট কলটি মোড়ানো বিবেচনা করতে পারেন ।
timeout 5 echo '{"hostUp": true}' | netcat localhost 8001
এই পদ্ধতিরটি কিছুটা আনাড়ি কারণ এটি সফলভাবে ডেটা প্রেরণ করছে কিনা তা নির্বিশেষে নেটকাট কার্যকর করার উপর একটি উচ্চতর সীমা রাখে, তবে আপনি যদি অল্প পরিমাণে ডেটা প্রেরণ করছেন এবং কয়েক সেকেন্ড বাদে রেখেছেন তবে এই কাজ করা উচিত যে কোনও নেটক্যাট বাস্তবায়ন সহ।
আমার ক্ষেত্রে, হোমব্রেইউ (v 0.7.1) এর মাধ্যমে আমার ম্যাক ইনস্টল করা নেটকাটের অনুলিপিটিতে একটি-কিউ বিকল্প নেই, তবে আমি এসটিডিএন ইওএফ বন্ধ করার জন্য -c বিকল্পটি ব্যবহার করতে সক্ষম হয়েছি এবং একটি লুপে সম্পূর্ণ কমান্ড:
while true ; do printf 'HTTP/1.1 200 OK\r\n\r\ncool, thanks' | netcat -l -c -p 8888 ; done
উবুন্টু 18.04 সার্ভারে আমাকে নিম্নলিখিতগুলি ব্যবহার করতে হয়েছিল: (ম্যান পৃষ্ঠাগুলিতে পাওয়া যায়)
echo '{"hostUp": true}' | sudo /usr/local/bin/netcat -N localhost 8001
একথাও ঠিক যে -N
অনুরূপ -q
বা -c
অন্যান্য ডিস্ট্রো উপর