2017-12-09 13 views
0

그래서 지금 나는 API를 Ping하는 서버를 가지고 있으며 stdout에 글을 씁니다. 나는 그것을 NC로 파이프합니다.같은 포트에 netcat에 여러 프로그램의 파이프 출력

node server.js | nc -lk 9999 

나는 그 일을 듣고 데이터의 5 초 스냅 샷을 출력한다.

제 질문은 다중 server.js 프로그램을 사용하여 여러 세션에서이를 시도 할 때입니다. server1.js, server2.js 모두 api의 다른 부분에 충돌하여 포트 9999로 전달합니다. 첫 번째 프로그램 만 스냅 샷 작업에 의해 선택됩니다. 여러 출력을 어떻게 연결합니까 :

nc -lk 9999 

이렇게하면 하나의 프로그램 출력 인 것처럼 처리됩니다.

+0

'-lk' 옵션은 'nc'에게 포트에서 수신 대기하도록 지시합니다. 이는'표준 입력 무시 '를 의미합니다. –

답변

0

해당 명령을 여러 번 실행하면 단순히 작동하지 않습니다. 동일한 포트에서 netcat의 여러 인스턴스를 수신 대기 할 수 없습니다. nc: Address already in use 오류가 발생합니다. node server.js | cat > queue

  1. mkfifo queue
  2. nc -lk 9999 < queue
  3. 가 Btw은 내가 멋지고 완벽하게 작동 netcat을가 Node.js를에 이식했다 : 당신이 할 수있는 일

    뭔가처럼 https://github.com/roccomuso/netcat

    이렇게하면 쉽게 문제가 발생할 수 있습니다. 왜냐하면 표준빈 또는 파이프 데이터를 표준 입력으로 사용하지 않고 JS에서 전체 로직을 구현할 수 있기 때문입니다.