portable Möglichkeit, den Befehl (netcat) nach einem Timeout zu beenden

portable Möglichkeit, den Befehl (netcat) nach einem Timeout zu beenden

Ich habe eine Lösung, bei der netcat/ ncals Dienst auf Eingaben wartet, der Dienst gibt jedoch niemals Eingaben an den Client zurück. Etwa so:

server$ nc -l 12345

und dann:

client$ echo message | nc server 12345

Der Trick besteht darin, dass der Server niemals etwas an den Client zurücksendet (auch kein EOF), da er im Wesentlichen nicht weiß, wann der Client fertig ist, und der Client daher netcatnie beendet wird.

Eine einfache Lösung besteht darin, den Client die -q <secs>Option verwenden zu lassen netcat, aber nicht alle Implementierungen (z. B. FreeBSD und Mac OSX) netcatschließen diese -qOption ein.

Gibt es von den brillanten Köpfen hier noch andere Workarounds?

verwandte Informationen