-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
이벤트 핸들러 관련 궁금증이 생겼습니다.
22.01.27 11:07 작성 조회수 126
0
Connect Async를 사용해 Peeding값을 받아와 Completed 함수를 구현 했는데 이전에 Aysnc에 이벤트 핸들러로 Completed 함수를 넣었는데 Peeding으로 한번 체크하는 이유가 궁금합니다.
SocketAsyncEventArgs args = new SocketAsyncEventArgs(); args.Completed += OnConnectCompleted;
if (peending == false) OnConnectCompleted(null, args);
답변을 작성해보세요.
1
Rookiss
지식공유자2022.01.27
https://docs.microsoft.com/ko-kr/dotnet/api/system.net.sockets.socket.connectasync?view=net-6.0
ConnectAsync와 관련된 문서를 읽어보시면 됩니다.
항상 EventHandler가 호출되는게 아니고
요청한 Connect 바로 완료될 경우 (pending = false일 경우) 직접 호출해야 합니다.
JINHAN MIN
질문자2022.01.29
Rookiss님 감사합니다. 덕분에 궁금한 부분이 풀렸습니다.
질문후에 pending 부분을 다 제거하고 테스트 진행했었는데 Read부분에서 데이터가 다 안들어오던게 그 부분 때문이군요 :))
답변 1