ฉันพยายามส่งสตริงเล็ก ๆ เพื่อ statsd ผ่าน nc ภายในบล็อกการอ่าน:
while read line; do
printf "folder.counter:value|1c" | nc -q 0 -u $host $port
done
น่าเสียดายที่เมื่ออยู่ในโหมด UDP ดูเหมือนว่า nc ต้องการรออย่างไม่มีกำหนดแม้ว่าฉันจะระบุไว้-q 0
แล้วก็ตามซึ่ง man page บอกว่าจะทำให้โปรแกรมออกจาก EOF ทันที
ฉันพยายามผ่านไป-w 1
แล้ว แต่ถ้าข้อมูลที่ฉันส่งมามีมากกว่าหนึ่งบรรทัดต่อวินาทีบัฟเฟอร์ข้อมูลจะหมดลงและฉันสูญเสียสถิติตามเวลาจริงของฉัน
เป็นไปได้ไหมที่จะทำในสิ่งที่ฉันพยายามจะทำกับ netcat หรือฉันจะต้องเขียนอะไรบางอย่างในภาษาที่มีห้องสมุด statsd อยู่ใช่ไหม?