c socket program에서 질문요

sysmoon의 이미지

write(clnt_sock,message,size);
write(1,message,size);

write메소드에서 clnt_sock(클라이언트 소켓)에 message를 전송하는 것은 알겠는데, 두번째 줄에서 socket이 아닌 숫자 1이 의미하는건 뭐예요?
이 예제는 echo_server.c인데 실제 write(1,message,size);
이 부분을 빼면 클라이언트가 서버에게 보낸 메세지를 서버는 찍지 않네요.
물론 클라이언트는 자신이 보낸것을 받게 되고요.

제 생각은 그럼 1의 의미가 자기 자신(서버)이라는 것인데 맞나요?

만약 맞다면 port번호는 이 프로그램에서 사용한 서버소켓으로 다시 자신에게
message를 전송한다는 의미인가요?

열혈강의 tcp/ip 소켓 프로그래밍 책인데 이 부분에 대한 설명이 없네요..

kall의 이미지

0 - Standard Input(stdin)
1 - Standard Output(stdout)
2 - Standard Error(stderr)

입니다..
소켓이건 파일이건 전부 3번 이후로 배정이 되지요..

----
자신을 이길 수 있는자는
무슨짓이든 할수있다..
즉..무서운 넘이란 말이지 ^-_-^
나? 아직 멀었지 ㅠㅠ

sysmoon의 이미지

꾸벅^^

AirPlug

choissi의 이미지

kall wrote:
0 - Standard Input(stdin)
1 - Standard Output(stdout)
2 - Standard Error(stderr)

입니다..
소켓이건 파일이건 전부 3번 이후로 배정이 되지요..

위의 소켓을 close한 상태에서 포크를 하기 때문에
꼭 3번 이후는 아니겠지요..

울랄라~ 호기심 천국~!!
http://www.ezdoum.com