강의

멘토링

로드맵

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

김지수님의 프로필 이미지
김지수

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Listener

RegisterAccept에서 pending 여부 판단에 대하여

해결된 질문

작성

·

175

1

안녕하세요!! pending 관련하여 질문드립니다!!

void RegisterAccept에서 굳이 

if(pending ==  false)

   OnAcceptCompleted(null, args);

를 넣어주는 이유는 무엇인가요??

설명에서는 정말 쓰레드가 할일이 없어서 바로 처리해줄 상황을 생각해서 넣어주신거라고 하셨는데 

이 부분을 없애도  args.Completed 이벤트 발생 시  문제 없이 OnAcceptCompleted 를 불러오던데 굳이 넣어주신건 성능 개선차원인가요??

답변 2

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

성능 개선 차원이 아니고 API가 그렇게 되어 있습니다.
Accept, Send, Recv 모두 비동기이긴 하지만 return값이 false이면
우리가 콜백 함수롤 직접 호출해줘야 합니다.

0

김지수님의 프로필 이미지
김지수
질문자

감사합니다!!

김지수님의 프로필 이미지
김지수

작성한 질문수

질문하기