시간 초과 후 명령(netcat)을 종료하는 이식 가능한 방법

시간 초과 후 명령(netcat)을 종료하는 이식 가능한 방법

netcat/를 입력을 수신하는 서비스로 사용하는 솔루션이 있지만 nc서비스는 클라이언트에 어떤 입력도 반환하지 않습니다. 이 같은:

server$ nc -l 12345

그런 다음:

client$ echo message | nc server 12345

비결은 서버가 클라이언트에 아무 것도 보내지 않기 때문에(EOF 없음 포함) 본질적으로 클라이언트가 언제 종료되는지 모르기 때문에 클라이언트가 netcat종료되지 않는다는 것입니다.

간단한 해결책은 클라이언트가 옵션을 사용하도록 하는 것입니다 -q <secs>. netcat그러나 모든 구현(예: FreeBSD 및 Mac OSX)에 netcat-q옵션이 포함되는 것은 아닙니다.

여기에 영리한 사람들을 위한 다른 해결책이 있습니까?

관련 정보