callback 함수 사용에 있어 궁금증
bool pending = _listenSocket.AcceptAsync(args);
if (pending == false)
OnAcceptCompleted(null,args);해당 코드는
_listenSocket.AcceptAsync(args);
에서 이미 call back 함수를 사용하여 해당 비동기 작업이 실행될 때 까지 기다린 다음 위에서 정의해준 call back 함수인 OnAcceptCompleted를 호출하는 것으로 이해하고 있습니다.
그런데 굳이 return을 bool형인 peding으로 받아 보류인지 아닌지 확인하여 바로 peding이 false이면 직접적으로 OnAcceptCompleted 함수를 호출할 필요가 있는가 하는 의문이 들었습니다.
이는 멀티 쓰레드 상황을 대비한 사항인가요?
보류를 확인하여 바로 통과 하였다면 직접적으로 함수를 호출하는것은 속도 측면의 이유에서 추가하는 것인가요?
그렇지 않다면 굳이
if(pending == false)
OnAcceptCompleted(null, args);부문을 해당 코드에서 삭제해도 무관하지 않을까 하는 궁금증이 생깁니다.
답변 1
1
그런데 굳이 return을 bool형인 peding으로 받아 보류인지 아닌지 확인하여 바로 peding이 false이면 직접적으로 OnAcceptCompleted 함수를 호출할 필요가 있는가 하는 의문이 들었습니다.
-> 이건 C# 라이브러리가 그렇게 되어 있어서 그런 것이라 선택의 여지가 없습니다.
TLS 질문드립니다.
0
50
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
54
2
Unity Span
0
80
2
XML, Dll 차이점
0
109
2
Session 질문입니다
0
81
1
Write Read 커서 키워드
0
77
1
더미 클라이언트 수에 따른 OnDisconnect 발생
0
72
2
네트워크 Send 전담 스레드 배치
0
99
2
UnhandledException 으로 서버 터지는 경우
0
88
2
컨텐츠 단, 엔진 단
0
106
1
질문 있습니다
0
77
2
C# 게임서버 3D MMORPG
0
150
2
유니티6 버전
0
99
2
receive하는 부분과 send하는 부분의 차이
0
134
2
커서의 위치의 중요성
0
104
2
C++ 전혀 모르는데 C# 서버
0
170
2
강의에 질문이 있습니다
0
86
2
멀티스레드 이해도 질문
0
96
1
500 vs 500
0
130
3
OnAcceptHandler 액션 함수
0
64
1
이 정도 서버의 객관적인 수준이 궁금합니다.
0
193
2
36. Serialization #3 에서 string (name) 코드 수정 질문
0
83
2
외부 컴퓨터와의 통신 방법이 궁금합니다
0
107
1
스핀락 질문.
0
110
2





