버그 해결을 위한 모든 질문을 던져
+1 vote
264 views
현재 제가 만든 방식은

클라이언트가 연결을 해제할 때 연결 해제 신호를 서버 측에 보내고,

서버는 연결 해제 신호를 받으면 해당 클라이언트를 클라이언트 리스트에서 제거하는 방식입니다.

그런데 클라이언트가 비정상 종료되었을 때,

즉 연결 해제 신호를 보내지 못하고 프로그램이 종료 되었을 때

서버 측에서 이를 알아차릴 수단이 없다는 문제가 생겼습니다.

이 문제에 대한 적절한 처리를 만들지 않으면 안될 것 같습니다.

현재 임시방편으로 서버 측에서 클라이언트들에게 주기적으로 연결 확인 패킷을 보내서,

응답하지 않는 클라이언트들을 클라이언트 리스트에서 제거하는 방식으로 만들어 둔 상태입니다.

하지만 이런 해결책이 성능에 안좋은 영향을 끼칠까 걱정이 됩니다.

보통 어떤 식으로 클라이언트의 연결 상태를 확인하나요?

경험자 분의 답변을 기다립니다...!
asked (27 point) , 264 views

1 답변

+2 votes
우수 답변
말씀하신 상황을 '좀비클라이언트'라고 하고 지금 구현하신 방법을 '하트비트'라고 보통 말합니다.

관련해서 찾아보시면 제가 여기에 끄적이는것보다 더 유의미한 정보를 찾으실 수 있을것 같아요~

보통 질문들이 '어떻게 하나요?'인 것에 비해 질문자님께서는 그래도 나름의 해결책을 시도해보시고 글을 올리셔서 좋네요 ㅎ
answered (210 point)
선택됨
확인이 늦었습니다ㅠ

말씀해주신 키워드로 조금 더 정보를 찾아보도록 하겠습니다.

친절한 답변 감사드립니다!

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

430 질문
564 answers
572 댓글
37,532 users