xinetd로 실행되는 프로그램 telnet 접속시 입력을 먼저 받는 문제..
글쓴이: march / 작성시간: 토, 2012/10/13 - 11:29오전
telnet으로 특정 포트로 접속하면 제가 만든 프로그램을 실행시키고 프로그램 안에서 동작 외에 다른건 못하게 하려고 하는데요.
xinetd를 쓰면 된다고 하길래 테스트를 위해 간단하게 프로그램을 짰습니다.
프로그램 소스
int main(){
char a[100];
printf("New Start");
scanf("%s", a);
printf("%s", a);
}
서비스 설정
service back
{
socket_type = stream
wait = no
user = root
server = /home/guest/back
disable = no
}
그런데 telnet localhost 9999로 접근해보니 printf의 New Start가 먼저 출력되지 않고 scanf 입력을 먼저 받은 후에 printf는 모아서 한번에 처리되더군요.
이를 어떻게 해결할 수 있을지 문의드립니다.
Forums:
해결했습니다.
setvbuf를 이용하여 해결했습니다.
그런데 글 수정을 어디서 하는지 모르겠네요; 말머리를 어떻게 붙이는지..
댓글 달기