您的位置:首页 > 其它

Windows程序设计 读书笔记 - 领略INTERNET

2010-05-06 17:53 330 查看
一、WinSock

  WSAStartup (MAKEWORD(2,0), &WSAData);

    //之后执行失败的都要WSACleanup();

  sock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP) ;

  WSAAsyncSelect (sock, hwnd, WM_SOCKET_NOTIFY, FD_CONNECT | FD_READ);

    //设置connect为非阻塞。

    //在FD_CONNECT | FD_READ消息发生时,触发WM_SOCKET_NOTIFY消息

  connect(sock, (SOCKADDR *) &sa, sizeof (sa)) ;

  WM_SOCKET_NOTIFY消息处理:

    wEvent = WSAGETSELECTEVENT (lParam) ; // ie, LOWORD
wError = WSAGETSELECTERROR (lParam) ; // ie, HIWORD

    switch(wEvent)

    {

    case FD_CONNECT:recv (sock, (char *) &ulTime, 4, MSG_PEEK) ;

    case FD_READ:recv (sock, (char *) &ulTime, 4, 0) ;

    }

  处理完毕后,清理:

  closesocket (sock) ;
sock = 0 ;
WSACleanup () ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: