RegisterAccept() 질문
우선 먼저 사과드립니다... 비슷한 질문이 많은데 그 글들을 봐도 이해에 대해 확신이 서지 않아 같은 질문을 또 드리는것 같네요.
의문이 있는 부분은
SocketAsyncEvnetArgs 부분 입니다.
1. RegisterAccept 에서 AcceptAsync로 args를 처리.
2. args안에 EventHandler<T> Completed; 존재
3. args안에 OnCompleted가 존재하고, Accepted되면 OnCompleted가 실행되면서 Completed.Invoke로 OnAcceptCompleted 동작.
비동기로 accept를 처리하고, accept가 완료되면 callback을 통해서 OnAcceptCompleted 함수가 수행된다는 개념은 이해했지만 동작 메커니즘이 정확하게 이해되지 않아 질문드립니다.
아래 사이트를 참고하였을때, OnCompleted에 뭔가 정의가 있어야 함수가 실행이 될텐데요,
event - C# 참조 | Microsoft Docs
EventHandler<TEventArgs> 대리자 (System) | Microsoft Docs
VS2019에서 정의를 타고 올라갔으나....주석 뿐인 정의만 있었습니다. Socket까지도 정의를 타고 올라갔는데 마찬가지로 프로퍼티+주석만 잔뜩있었습니다 ㅠㅠ....
제가 옳게 이해한 것이 맞을까요?
답변 1
0
네 이해하신게 맞습니다.
내부 동작 메커니즘이 이해 안 가서 답답하시겠지만,
그 부분은 나중에 C++ 서버를 만들어보시면 알게 됩니다.
실제로 C# 서버가 Windows 환경에선 내부적으로 IOCP 로 구현되어 있습니다.
방대한 코드를 작업할 때는 100% 모든게 이해가 안 가더라도
일단 어느 정도는 넘어가는 융통성이 필요합니다.
C#에서의 RAII
0
65
3
TLS 질문드립니다.
0
79
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
74
2
Unity Span
0
97
2
XML, Dll 차이점
0
134
2
Session 질문입니다
0
96
1
Write Read 커서 키워드
0
88
1
더미 클라이언트 수에 따른 OnDisconnect 발생
0
85
2
네트워크 Send 전담 스레드 배치
0
112
2
UnhandledException 으로 서버 터지는 경우
0
102
2
컨텐츠 단, 엔진 단
0
118
1
질문 있습니다
0
93
2
C# 게임서버 3D MMORPG
0
159
2
유니티6 버전
0
106
2
receive하는 부분과 send하는 부분의 차이
0
154
2
커서의 위치의 중요성
0
110
2
C++ 전혀 모르는데 C# 서버
0
176
2
강의에 질문이 있습니다
0
92
2
멀티스레드 이해도 질문
0
107
1
500 vs 500
0
147
3
OnAcceptHandler 액션 함수
0
70
1
이 정도 서버의 객관적인 수준이 궁금합니다.
0
204
2
36. Serialization #3 에서 string (name) 코드 수정 질문
0
86
2
외부 컴퓨터와의 통신 방법이 궁금합니다
0
112
1





