여러 포트에 netcat하는 방법

여러 포트에 netcat하는 방법

저는 라즈베리를 사용하고 있으며 2개의 로컬 스트림이 필요합니다. 이것이 내가 시도한 것입니다:

시도

raspivid <some options> -o - | tee nc localhost 5100 | nc localhost 5000

질문

에서 출력을 받을 수 있지만 5000에서는 받을 수 없습니다 5100. 무엇이 누락되었나요?

raspivid -o -스트림을 stdout으로 뱉어냅니다.

답변1

음, 'tee'는 명령 이름을 취하지 않습니다.파일이름. 현재 디렉터리에 있는 nc, localhost및 이름의 파일에 출력 복사본을 쓰고 있습니다 .5100

두 개의 명령을 실행하려면 셸에서 을 사용하여 "프로세스 대체"를 허용하는지 확인하고 >( ... )자동으로 파이프를 파일 이름으로 전달합니다.

raspivid <etc> | tee >(nc localhost 5100) | nc localhost 5000

또는 다음 pee에서 설치하세요.더 많은 유틸리티:

raspivid <etc> | pee "nc localhost 5100" | nc localhost 5000

해당 옵션 중 어느 것도 사용할 수 없는 경우 mkfifo를 사용하여명명 된'nc' 인스턴스 중 하나를 파이프로 연결한 다음 출력과 입력을 별도로 실행합니다.

mkfifo /tmp/ncpipe
nc localhost 5100 < /tmp/ncpipe &
raspivid <etc> | tee /tmp/ncpipe | nc localhost 5000

관련 정보