MFC 소켓 클래스들 말입니다.
요루
CSocket은 쓰레드에 안전하지 못하다는 크리티컬.
송수신이 갑자기 끊어지거나 안되는 문제가 있더라구요.
CAsyncSocket은FD_CONNECT 이벤트가좀 이상하고...
(연결을 던졌는데 서버가 받았는데도 클라에 FD_CONNECT 이벤트가 정상적으로 전달이 안되네요...
제가 좀 이상하게 만든점도 있을지도.)
MFC 소켓 클래스들중에 CSocket은 이상하다는건 아는데 CAsyncSocket도 이상한건가요?
정녕 윈속을 써야되는걸까요 ㅠㅠ
-
늘솜
ee
-
너만
음.... 죄송합니다. 더이상 아는게 없네요..
-
난길
필터링을 시도해봤지만 잡히지 않네요... ㅈㅈ;
-
볼수록중독
if (GetLastError() == WSAEWOULDBLOCK) return;
이런식으로 필터링합니다. -
냐하
음 어떻게 필터링 하면 좋을까요? WOULDBLOCK 정보를 찾기가 좀 힘드네요;
-
아연
우드블럭은 싱크소켓(CSocket)에서도 발생하는 걸로 알고 있습니다. 우드블럭을 걸러내는 코드를 넣어보심이 어떨까요?
그런데도 문제가 발생한다면 제 지식밖으로군요. 도움이 되지 못해서 죄송합니다. -
이플
다중쓰레드 매크로를 넣으니까 조금 나아졌지만 여전히 끊기는 경우가 있네요.
WOULDBLOCK을 피하려고 CSocket을 썼는데도 끊깁니다. -
휘율
accept까지 성공하신후 송수신에서 오류가 났는데 감지되지 않는다면 WOULDBLOCK밖에 없다고 생각합니다.
-
꽃겨울
오류 체크 루틴을 만들었습니다만 아무것도 감지가 안됩니다.
즉 오류로 감지되는 상황이 나지 않는다는거예요. -
은송이
...이상한게 아니라 오류를 체크하는 루틴을 만드셔야 합니다.
CAsyncSocket으로 하실경우 보낸 정보마다 확인하는 루틴을 짜셔야 하여 번거롭습니다. 기본적으로 두 클래스는 같습니다. 또한 CSocket이 더 상위에, 안전한 소켓입니다.