리눅스 컴퓨터에서 원격 음악 플레이어 데몬 (MPD) 서버를 실행하고 있습니다. 나는 다른 리눅스 머신에서이 스트림을 듣는 클라이언트를 가지고있다.TCP 포트에서 서버를 모니터링하는 가장 좋은 방법입니다.
MPD 서버에서 스트림 일시 중지 또는 중지를 요청하면 TCP 포트에 연결된 모든 클라이언트의 연결이 끊어집니다. 따라서 서버가 다시 스트리밍을 시작하면 클라이언트를 수동으로 다시 연결해야합니다.
연결을 허용하는 서버의 TCP 포트를 모니터링하고 클라이언트를 자동으로 다시 시작하는 프로그램을 작성하고 싶습니다. 실행보다 더 잘 할 수 있습니까? connect() 및 sleep()? 이 작업을 수행 할 수있는 명령 줄 유틸리티가 있습니까?
MPD 서버를 실행하는 컴퓨터에서 클라이언트를 실행할 수 있다면 도움이 될 것입니다. 다음은 프로세스가 로컬 포트에서 수신 대기하는지 알려주지 만 프로세스가 아닌 경우 차단하지 않으므로 루프로 다시 처리해야합니다.
$ sudo는 퓨저 -n TCP 8000
8000/TCP : 9677$ sudo를 NETSTAT -nlp | 그렙 8000
TCP는 0 0.0.0.0:8000 0.0.0.0:* 0 9677가/MPD
나는 MPD 서버의 동작을 변경 포함하지 않는 솔루션을 시도 할 수 있습니다 LISTEN. 여기
다른 컴퓨터에서 실행할 수 있다는 점을 제외하면 퓨저 또는 netstat를 사용하는 것과 비슷하지 않습니까? – nagul
예, 절대적으로 다른 컴퓨터에서 실행할 수 있습니다. 물론 로컬 호스트 대신 원격 호스트 이름을 넣으십시오. 서버가 localhost에서만 설정 될 수 있으므로 예를 들어 원격 연결을 거부하기 때문에 정확하게 netstat과 같지 않습니다. 그러나 귀하의 필요에 충분히 근접 할 것입니다. –