로이터와 커넥션을 맺은 상태에서 폴링을 통해 live한지 알아보는데, fd가 0보다 큰 값이 리턴되었다.
확인해보니 폴링시, select를 통해 fd를 확인 후 FD_ISSET()을 통해 리턴값이 들어오는데..
–>
FD_ISSET() macro는 이름 그대로 특정 file descriptor가 fd_set에 있는지를 확인한다.
return : true(1) or false(0)
클라이언트와 연결이 끊어졌을 경우, FD_ISSET()의 return = 1
(어찌되었건 그 소켓에 이벤트가 발생)
서버는 그 소켓으로부터 recv()하려고 한다.
그리고 recv() 함수의 return 값으로부터 상태를 확인할 수 있다.
클라이언트로부터 데이터가 왔을 경우에는 데이터의 byte 수가 return될 것이고
연결이 끊어졌을 때는 0이 return될 것이다.
로이터측의 연결이 끊어져서 fd 소켓에 이벤트가 발생하여
해당 fd에 1이 입력되었을 것으로 보인다.