关于 AfxSocketInit()

Posted 我来乔23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于 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~

以上是关于关于 AfxSocketInit()的主要内容,如果未能解决你的问题,请参考以下文章

关于php的socket

关于Socket的一些知识

求助,求python关于socket协议打包和解包相关方法

关于python中socket接收数据验证完整并且拼接方法

Socket通信关于Socket通信原理解析及python实现

关于socket