WinSocket的几个WSA*_PHP教程
程序员文章站
2022-05-18 21:38:04
...
WinSocket的几个WSA*
- typedef struct WSAData {
- WORD wVersion;
- WORD wHighVersion;
- #ifdef _WIN64
- unsigned short iMaxSockets;
- unsigned short iMaxUdpDg;
- char FAR * lpVendorInfo;
- char szDescription[WSADESCRIPTION_LEN+1];
- char szSystemStatus[WSASYS_STATUS_LEN+1];
- #else
- char szDescription[WSADESCRIPTION_LEN+1];
- char szSystemStatus[WSASYS_STATUS_LEN+1];
- unsigned short iMaxSockets;
- unsigned short iMaxUdpDg;
- char FAR * lpVendorInfo;
- #endif
- } WSADATA;
WSADATA结构被用来储存调用AfxSocketInit全局函数返回的Windows Sockets初始化信息。
1、WSAStartup
用法:
WSADATA wsaD;
WSAStartup(MAKEWORD(2,2),&wsaD);
当一个应用程序调用WSAStartup函数时,操作系统根据请求的Socket版本来搜索相应的Socket库,然后绑定找到的Socket库到该应用程序中。以后应用程序就可以调用所请求的Socket库中的其它Socket函数了。
事实上,如果windows socket程序不加上这句,调用socket()函数是调用不成功的,一直返回-1。
2、WSACleanup
WSAStartup应该与WSACleanup成对使用,WSAStartup的功能是初始化Winsock DLL,WSACleanup是来解除与Socket库的绑定并且释放Socket库所占用的系统资源。
在Windows下,Socket是以DLL的形式实现的。在DLL内部维持着一个计数器,只有第一次调用WSAStartup才真正装载DLL,以后的 调用只是简单的增加计数器,而WSACleanup函数的功能则刚好相反,每调用一次使计数器减1,当计数器减到0时,DLL就从内存中被卸载!因此,你 调用了多少次WSAStartup,就应相应的调用多少次的WSACleanup.
3、WSAGetLastError()
是指该函数返回上次发生的网络错误。
待续......
参考网址:
http://blog.csdn.net/bolike/article/details/7584727
推荐阅读
-
php自定义的格式化时间示例代码_PHP教程
-
php绘制一条弧线的方法,php绘制弧线_PHP教程
-
php结合md5实现的加密解密方法,php结合md5加密解密_PHP教程
-
关于TP的RBAC的使用,TPRBAC_PHP教程
-
经验分享:让PHP开发者事半功倍的十大技巧_PHP教程
-
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用,yii2gii_PHP教程
-
以实例全面讲解PHP中多进程编程的相关函数的使用,php函数_PHP教程
-
php生成指定频率和声音的音频文件(代码教程)
-
关键词匹配项目深入研究-过滤器的引入,深入研究过滤器_PHP教程
-
PHP中的双引号和单引号的应用_PHP教程