关于WSAAsyncSelect的一个简单有关问题!可是小弟我却不会

关于WSAAsyncSelect的一个简单问题!可是我却不会!
刚接触VC,用于编写网络传输程序,想用WSAAsyncSelect实现非阻塞方式,可是具体怎么实现却不会!具体程序如下:
HWND   hwnd   ;

hwnd=CNormalrecDlg::GetSafeHwnd();
   
socket1=socket(AF_INET,SOCK_DGRAM,0);
bind(socket1,(struct   sockaddr*)&local,sizeof(local));
WSAAsyncSelect(socket1,hwnd,   WM_SOCKET,FD_READ   );


并编写了相应的处理程序:
int   CNormalrecDlg::Onclinetmes(HWND   hwnd,UINT   wParam,LONG   lParam)
{
  CString   str;
  char   buffer[1024];
  int   fromlen   =sizeof(from);
switch(WSAGETSELECTEVENT(lParam))
{

      case   FD_READ:
              if   (recvfrom(socket1,buffer,4,0,(struct   sockaddr*)&from,&fromlen)!=SOCKET_ERROR)
      {
          str.Format( "%d%d%d%d ",buffer[0],buffer[1],buffer[2],buffer[3]);
  //str.Format( "%d ",buffer[0]);
            m_show1=str;
  UpdateData(FALSE);
      }
      break;
   

}

  return   0;
}

可是我却不知道什么时候才能调用Onclinetmes,怎么样将Onclinetmes与程序的其它部分产生关系,不知道我有没有说清楚!希望朋友们帮帮我,谢了!

------解决方案--------------------
应用程序会在与hwnd窗口句柄参数对应的窗口例程里,以windows消息的形式接受网络事件通知。

WSAAsyncSelect(socket1,hwnd, WM_SOCKET,FD_READ ); // WM_SOCKET指定在发生网络事件的时候,打算接受的消息。

在应用程序中通过消息宏将Onclinetmes与程序的其它部分关联起来产生关系
ON_MESSAGE(WM_SOCKET, Onclinetmes)
------解决方案--------------------
看 < <windows网络编程技术> >
------解决方案--------------------
应用程序会在与hwnd窗口句柄参数对应的窗口例程里,以windows消息的形式接受网络事件通知。

WSAAsyncSelect(socket1,hwnd, WM_SOCKET,FD_READ ); // WM_SOCKET指定在发生网络事件的时候,打算接受的消息。

在应用程序中通过消息宏将Onclinetmes与程序的其它部分关联起来产生关系
ON_MESSAGE(WM_SOCKET, Onclinetmes)
------------------------
THIS IS RIGHT
------解决方案--------------------
ON_MESSAGE(WM_SOCKET, Onclinetmes)