listen()은 포트를 열고, accept()는 해당 포트에 연결요청이 있을 때 승락해 주는 것입니다.
두 기능이 하나의 함수로 되있다면, 해당 포트에 하나의 연결만 가능하지 않을까요?
하나의 연결이 설정된 후, listen()을 하면 실패하게되죠.
listen()은 프로그램에서 한번만 불러주면 됩니다. :)
accept는 내부적으로 socket을 만드는 일을 하기 때문에 좀 거리가 있구요.
오히려 bind 안에 넣는 것이 자연스러운 의문아닌가요?
그러나 bind와 listen이 분리되는 것은 stream socket에서의 소켓 state 변경을 위해 필요한 기능이기 때문입니다.
bind는 stream socket외에도 범용으로 쓰이기 때문에 또한 listen이 하는 일을 할 수 없는 것이지요.
---
coolengineer.com
listen()은 포트를
listen()은 포트를 열고, accept()는 해당 포트에 연결요청이 있을 때 승락해 주는 것입니다.
두 기능이 하나의 함수로 되있다면, 해당 포트에 하나의 연결만 가능하지 않을까요?
하나의 연결이 설정된 후, listen()을 하면 실패하게되죠.
listen()은 프로그램에서 한번만 불러주면 됩니다. :)
오히려 bind 아닌가요?
accept는 내부적으로 socket을 만드는 일을 하기 때문에 좀 거리가 있구요.
오히려 bind 안에 넣는 것이 자연스러운 의문아닌가요?
그러나 bind와 listen이 분리되는 것은 stream socket에서의 소켓 state 변경을 위해 필요한 기능이기 때문입니다.
bind는 stream socket외에도 범용으로 쓰이기 때문에 또한 listen이 하는 일을 할 수 없는 것이지요.
---
coolengineer.com
---
http://coolengineer.com
댓글 달기