WSARecv 에러 WSAECONNABORTED 문의
글쓴이: 익명 사용자 / 작성시간: 일, 2018/04/29 - 12:13오후
안녕하세요
궁금한게 있어서 질문글을 올립니다.
제가 C++IOCP 서버에 게임 클라이언트를 붙여서 서버를 테스트 중인데
연결되어있는 클라이언트가 1번, 2번 2개가 있고 각각의 클라이언트가 서로에게 필요한 정보를
서버를 통해 주고받고 있던 도중에 클라이언트 하나를 강제로 죽였을때
서버에서 WSARecv 에러가 리턴되더라구요.
예를 들어 클라이언트 2번을 죽였을때, 그걸 모르는 클라이언트 1번은 하던대로 서버쪽으로
클라이언트 2번에 정보 전송을 요청하는 패킷을 보내고 서버는 이를 받아서 클라이언트 2번에
패킷을 쏘는데 이때 클라이언트 2번은 죽어서 소켓연결이 끊겼으므로 WSASend에서 에러가 리턴되어야 하는게 아닌가요?
최초의 비동기 송수신 시작을 WSARecv로 시작해서 그런가요?
아시는 분이 계시면 답변좀 부탁드립니다.
Forums:
참고해보세요.
WSARecv function
The WSARecv function receives data from a connected socket or a bound connectionless socket.
WSARecv 함수는 연결된 소켓 또는 바인딩 된 연결없는 소켓에서 데이터를받습니다.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms741688(v=vs.85).aspx
WSAGetLastError()
Error code
Meaning
WSAECONNABORTED
The virtual circuit was terminated due to a time-out or other failure.
가상 회로가 시간 초과 또는 기타 오류로 인해 종료되었습니다.
함수에 인자값. 리턴값. 오류값. WSAGetLastError() 값. 등을 확인해보시기 바랍니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기