socket 하나의 포트에 대한 처리
글쓴이: taesung / 작성시간: 수, 2006/12/27 - 11:07오전
socket이 하나가 있는데. 연결형이죠.
근데..
이 socket에서 send와 recv를 동시에 처리하게 되어있습니다.
send를 하고 recv를 기다릴때 대기상태로 빠져버리는데.
최고 대기할수 있는 시간은 24시간까지 입니다.
근데.. 계속해서 요청은 들어오게 되구여.
즉 요청은 N개가 될수가 있는데. 여기서 궁금한게..
send를 하고 ,recv로 대기상태로 가지 않고..
다른일을 하다가. recv에서 요청 패킷이 들어오게 되면. 처리하고 요청을 계속해서 받아들이고 싶은데
즉 동시에 2개에 포트를 바라보고 있는거 처럼요.
이게 하나의 소켓과 포트에도 가능한지 어떻게 하면 되는지 궁금합니다.
Forums:
select. poll ? epoll?
이걸 찾으시나요.
검색해보시면 제가 아는것보다 더 자세히 나올듯하네요.
[KILL] 죽을각오로.........
[KILL] 죽을각오로.........
select 대신에 pselect 를 사용하시는게 좋습니다.
select() 나 poll()을 사용하여 프로그래밍하면 되지만,
보통은 poll()을 사용하는게 더 세련됩니다.(성능차는 -_-;;)
그러나 select() 보다는 pselect()를 쓰는것이 더 좋습니다.
왜냐하면 select() 는 시그널에 대해서 안전하지 않기 때문에, 꼭 시그널 블록킹을 해야 합니다.
하지만, 전역적인 시그널을 바꾸면 시그널처리기를 다루는데 있어서 제약이 크기 때문에
보통은 그렇게 프로그래밍하면 나중에 사수한테 혼나겠죠.
========================================
* 부분이 전체를 대변하는 하나의 속성일때 진리이다.
영속적이지 못한 것은 전체가 될 수 없다.
========================================
* The truth will set you free.
댓글 달기