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; }