मैं पढ़े हुए ब्लॉक के अंदर nc के माध्यम से एक छोटी स्ट्रिंग भेजने की कोशिश कर रहा हूँ:
while read line; do
printf "folder.counter:value|1c" | nc -q 0 -u $host $port
done
दुर्भाग्य से, जब UDP मोड में, nc अनिश्चित काल तक प्रतीक्षा करना चाहता है, भले ही मैंने निर्दिष्ट किया हो -q 0
, जो कि मैन पेज कहता है कि EOF के तुरंत बाद प्रोग्राम से बाहर निकल जाएगा।
मैंने पासिंग की कोशिश की है -w 1
, लेकिन अगर मैं जो डेटा भेज रहा हूं, वह प्रति सेकंड एक से अधिक लाइन में आता है, तो डेटा बफ़र करता है, और मैं अपना वास्तविक समय आँकड़े खो देता हूं (किसी प्रकार के बफर ओवरफ़्लो को जोखिम में डालने का उल्लेख नहीं करने के लिए)।
क्या ऐसा करना संभव है जो मैं netcat के साथ करने की कोशिश कर रहा हूं, या क्या मुझे उस भाषा में कुछ लिखने की ज़रूरत है जिसमें कोई डेटाड लाइब्रेरी है?