• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

이벤트 핸들러 관련 궁금증이 생겼습니다.

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

답변을 작성해보세요.

1

https://docs.microsoft.com/ko-kr/dotnet/api/system.net.sockets.socket.connectasync?view=net-6.0

ConnectAsync와 관련된 문서를 읽어보시면 됩니다.
항상 EventHandler가 호출되는게 아니고
요청한 Connect 바로 완료될 경우 (pending = false일 경우) 직접 호출해야 합니다.

JINHAN MIN님의 프로필

JINHAN MIN

질문자

2022.01.29

Rookiss님  감사합니다. 덕분에 궁금한 부분이 풀렸습니다. 
질문후에 pending 부분을 다 제거하고 테스트 진행했었는데 Read부분에서 데이터가 다 안들어오던게 그 부분 때문이군요 :))