zoukankan      html  css  js  c++  java
  • Windows程序设计 读书笔记 领略INTERNET

    一、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 () ;

  • 相关阅读:
    二分查找练习
    Linux中Buffer和Cache的区别
    c++设计模式之单例模式
    c++设计模式之工厂模式
    C++中内存泄漏的几种情况
    snprintf
    命名空间和模块化编程1
    避免内存泄漏
    静态对象强制类型转换
    副本构造器
  • 原文地址:https://www.cnblogs.com/aoyihuashao/p/1729079.html
Copyright © 2011-2022 走看看