안녕하세요.
비동기 소켓 Receive Timeout 구현에 관해서 질문을 드립니다.
제가 구현하려고 하는것은 Socket이 정말 끊어졌있는지 확인하려는 용도로 2분 마다 timer로 client, Server간 핸드쉐이킹으로 메세지를 주고 받습니다. 그리고 client가 server로 부터 얼마동안 메세지를 받지 못하면 socket이 끊어졌다 판단하고 재접속하는 로직입니다.
따라서, recievetimeout을 구현해야 하는데..
구글링 하여 구현 방법으로는 아래와 같이 WaitOne으로 감지하는 것인데 우선 WaitOne으로 ReceiveTimeout을 구현할 수 있는지 궁금합니다.
(우선 구현해서 테스트 해본 결과 계속 res가 false로 들어오긴 하네요 ㅠㅠ)
var result = socket.BeginReceive(_dataBuf, 0, _dataBuf.Length, SocketFlags.None, WorkerCallBack, null);
IAsyncResult res = result.AsyncWaitHandle.WaitOne(_receiveTimeout, false);
if (!res)
{
//timeout발생
}
[최초 등록일: ]
[최종 수정일: 1/13/2020]