AfxSocketInit()

AfxSocketInit()

返回值:如果函数成功执行,则返回非零值,否则为0。

参数:    lpwsaData 指向WSADATA结构的 指针 。如果lpwsaData不等于NULL,那么调用::WSAStartup将填充WSADATA结构。这个函数同时也保证在应用程序结束之前调用::WSACleanup。
说明:  在你 重载 的CWinApp::InitInstance函数中调用这个函数以初始化WindowsSockets。
             在调用  AfxSocketInit() 之前,需要包含 afxsock.h 头文件。

            看别人的VC程序,都有写到AfxSocketInit(),当时不知道何意,现在知道了.是和WASAtarup()有关. WASAtarup()是应用程序调用的windows sockets dll的第一个函数,在调用任何winsock api之前,必须调用wsastartup()进行初始化,最后调用WSACleanup()做清理工作.

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

用来扩展对socket编程的接口函数,一般在C***App::InitInstance()初始化函数中调用

BOOL CMaterialTestApp::InitInstance()
{ 
    if (!AfxSocketInit())
    {
        AfxMessageBox("Windows TCP/IP通信端口初始化失败。");
        return FALSE;
    }
原文地址:https://www.cnblogs.com/rosesmall/p/14793006.html