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

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

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

server$ nc -l 12345

그런 다음:

client$ echo message | nc server 12345

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

한 가지 쉬운 해결책은 클라이언트가 -q <secs>옵션을 사용하도록 하는 것이지만 netcat모든 구현(예: FreeBSD 및 Mac OSX)이 옵션 netcat을 포함하는 것은 아닙니다 -q.

여기에 훌륭한 마음이 있는 다른 해결 방법이 있습니까?

관련 정보