zoukankan      html  css  js  c++  java
  • 关于 AfxSocketInit()

      一般来说 WASAtarup() 是应用程序调用的Windows Sockets dll的第一个函数,在调用任何Winsock Api之前,必须调用WSAStartup()进行初始化,最后调用WSACleanup()做清理工作。也就是 WSAStartup与 WSACleanup要配对使用。

          MFC中的函数 AfxSocketInit() 包装了函数 WSAStartup(), 在支持WinSock的应用程序的初始化函数IninInstance()中调用AfxSocketInit()进行初始化,程序则不必调用WSACleanUp()。 

      

          如果你再次调用WSACleanup, 可能会出问题!

      为什么呢?

          

      可以看到,有这么一句,这里是有回调:

      // setup for termination of sockets
      pState->m_pfnSockTerm = &AfxSocketTerm;

           而回调的具体内容如下:

      void (AFXAPI *m_pfnSockTerm)(void); // set once initialized

      

      可见,回调AfxSocketTerm中会WSACleanup~

  • 相关阅读:
    linux目录跳转的好武器z.sh
    找工作的程序员必懂的Linux
    11-面向对象4
    10-面向对象3
    09-面向对象2
    08-面向对象1
    06-数组
    3.5-乘法运算器设计
    3.2-定点数补码加减运算器设计
    4.12-虚拟存储器
  • 原文地址:https://www.cnblogs.com/MakeView660/p/9044545.html
Copyright © 2011-2022 走看看