1. 程式人生 > >[Visual Studio C++][Socket程式設計] WSAAsyncSelect()函式使用講解

[Visual Studio C++][Socket程式設計] WSAAsyncSelect()函式使用講解

一.前言        

       WSAAsyncSelect()函式允許應用程式以Windows訊息的方式接收網路事件通知。

二.講解

     1.函式的功能

  • WSAAsyncSelect()函式
     

    WSAAsyncSelect()函式自動把套接字設為非阻塞模式,並且為套接字繫結一個視窗控制代碼,當有網路事件發生時,便向這個視窗傳送訊息。

      2.函式使用     

        WSAAsyncSelect()

     ①.原型:

intWSAAsyncSelect( SOCKET s, HWND  hWnd, U_INT wMsg, long  IEvent )

     ②.引數:

  1.     s :需要設定的套接字控制代碼。
  2. hWnd: 指定一個視窗控制代碼, 套接字的通知訊息將被髮到此視窗中。
  3. wMsg: 網路事件到來的ID,可以在WM_USER以上數值中任意指定一個值。

  4. IEvent:指定哪些通知碼需要傳送。

                                                                 lEvent引數表

意義
FD_READ 欲接收 讀準備好 的通知.
FD_WRITE 欲接收 寫準備好 的通知.
FD_OOB 欲接收 帶邊資料到達 的通知.
FD_ACCEPT  欲接收 將要連線 的通知.
FD_CONNECT 欲接收 已連線好 的通知.
FD_CLOSE 欲接收 套介面關閉 的通知.

     ③.舉例:

rc = WSAAsyncSelect(s,hWnd,wMsg,FD_READ|FD_WRITE);