2011-03-12 4 views
2

Linux에서 "chat"과 "nc"를 결합하고 싶으므로 특정 요청에 응답하고 대답을 다시 보내는 작은 udp 서버를 생성 할 것입니다.자동 udp 응답을 위해 bash에서 netcat과 chat을 결합하십시오.

사실 "nc"의 stdout을 "chat"의 stdin으로 리디렉션하고 그 반대의 경우도 마찬가지입니다. 첫 번째 시도는 다음과 같습니다.

nc -w 3000 -u -n -l -p 30000 >&1111 <2222 & 
chat -V 'request' 'answer' >&2222 <1111 

하지만 작동하지 않았습니다.

+0

필자는 파일 설명자가 0에서 255 사이 여야한다고 생각합니다. 어쨌든 대신 명명 된 파이프를 사용해야합니다. –

답변

3

netcat 대신 socat을 사용하십시오. 이런 식으로 뭔가 :

socat UDP-LISTEN:5555 EXEC:"chat -sv ping pong",pty 

가 다른 터미널을 열 수 있습니다, 테스트 및 표준 입출력 및 UDP 소켓 다리를 socat를 사용하려면 :

socat - UDP:localhost:5555 

타입 핑, 당신은 탁구 얻을 것이다!