강의

멘토링

커뮤니티

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

JINHAN MIN님의 프로필 이미지
JINHAN MIN

작성한 질문수

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

Connector

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

작성

·

198

0

Connect Async를 사용해 Peeding값을 받아와 Completed 함수를 구현 했는데 이전에 Aysnc에 이벤트 핸들러로 Completed 함수를 넣었는데 Peeding으로 한번 체크하는 이유가 궁금합니다.
 
SocketAsyncEventArgs args = new SocketAsyncEventArgs(); args.Completed += OnConnectCompleted;
 
if (peending == false) OnConnectCompleted(null, args);

답변 1

1

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

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
질문자

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

JINHAN MIN님의 프로필 이미지
JINHAN MIN

작성한 질문수

질문하기