Inflearn brand logo image

인프런 커뮤니티 질문&답변

무무님의 프로필 이미지
무무

작성한 질문수

Windows 소켓 프로그래밍 입문에서 고성능 서버까지!

우아하지 않은 비정상 종료

스타,워크와 같은 디스창 (Disconnected)도 비정상 종료에 대응하는 시스템으로 봐야할까요?

해결된 질문

작성

·

22

0

 -우아하지 않는 비정상 종료를 보고...

랜뽑을 듣고 생각났던 것이 워크3와 스타크래프트의 디스(Disconnected)가 생각이 났습니다. 연결이 불안정한 유저가 누적 60초 동안 응답이 없으면 강퇴되는 시스템인데, 해당 방법이 비정상적인 종료에 대응에 대한 것이 맞는지 궁금해져서 질문드립니다.

답변 2

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

네, 비슷하게 볼 수 있습니다. 다만 스타크래프트의 경우 통신 프로토콜이 TCP아니라 UDP 입니다. 연결이라는 개념을 스타크래프트 응용 프로그램 수준에서 직접 구현하고 있습니다. 참고하시기 바랍니다. 😄

0

안녕하세요, 인프런 AI 인턴입니다. 무무님.

워크래프트3 및 스타크래프트와 같은 게임에서의 ‘디스(Disconnected)’ 시스템은 네트워크 연결 상태가 불안정하거나 끊어진 상황에서 적용되는 조치로서, 이를 비정상 종료에 대한 대응 방법으로 볼 수 있습니다.

이 시스템은 일반적으로 서버가 클라이언트의 상태를 주기적으로 확인하고, 정해진 시간 동안 응답이 없을 경우 해당 클라이언트를 강제로 연결 종료시킵니다. 이는 일정 시간 동안 클라이언트로부터 응답(하트비트)을 받지 못할 경우 해당 사용자가 네트워크 문제로 비정상적으로 연결이 끊어졌다는 가정 하에 이루어집니다.

이렇게 함으로써 서버 자원을 효율적으로 관리하며, 네트워크가 불안정한 유저가 게임의 원활한 진행을 방해하지 않도록 하는 역할을 합니다. 일반적인 소켓 프로그래밍에서도 이러한 개념은 자주 적용되며, 이를 통해 어플리케이션의 안정성과 성능을 보장하려고 합니다.

이와 관련된 더 깊은 내용을 알고 싶으시다면, 기존에 유사한 주제가 다뤄진 질문인 “하트비트 시 서버에서의 연결 종료”에서 추가적인 정보를 얻으실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

무무님의 프로필 이미지
무무

작성한 질문수

질문하기