이벤트 객체 생성

¡WSAEVENT WSACreateEvent()
성공 이벤트 객체 핸들 반환
실패 : WSA_INVALID_EVENT 반환
Ex) WSAEVENT event = WSACreateEvent();
¡BOOL WSACloseEvent(WSAEVENT hEvent)
성공 : TRUE 반환
실패 : FALSE 반환
Ex) WSACloseEvent(app.eventarray[index]);

소켓과 이벤트 객체 연결

¡Int WSAEventSelect(

  SOCKET s,

 

  WSAEVENT hEventObject,

 

이벤트 객체의 신호상태 감지
¡DWORD WSAWaitForMultipleEvents(

  DWORD cEvents,

  const WSAEVENT* lphEvents,

  BOOL fWaitAll,

  DWORD dwTimeout,

  BOOL fAlertable

);

Ex)WSAWaitForMultipleEvents(app.socktotalapp.eventarray, FALSE, WSA_INFINITE, FALSE);

  long INetWorkEvents

  )

¡Ex) WSAEventSelect(sock, event, FD_ACCEPT);

구체적 네트워크 이벤트 알아내기
¡Int WSAEnumNetworkEvents(

  SOCKET s,

  WSAEVENT hEventObject,

  LPWSANETWROKEVENTS lpNetworkEvents

  )

Ex) WSAEnumNetworkEvents(app.sockarray[index],app.eventarray[index], &app.netevents);


첨부파일있음.


EventSelctClient.zip

EventSelectSvc.zip




'Programing > 소켓 프로그래밍' 카테고리의 다른 글

IOCP, Input Output Completion Port  (0) 2016.11.30
Overlapped I/O 모델  (0) 2016.11.30

+ Recent posts