WSAStartup()函数加载套接字
2016-07-22 14:35
417 查看
int WSAStartup( __in WORD wVersionRequested, __out LPWSADATA lpWSAData );
WSAStartup
格 式: int PASCAL FAR WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 参 数: wVersionRequested 欲使用的 Windows Sockets API 版本 lpWSAData 指向 WSADATA 资料的指标 传回值: 成功 – 0 失败 - WSASYSNOTREADY / WSAVERNOTSUPPORTED / WSAEINVAL 说明: 此函式「必须」是应用程式呼叫到 Windows Sockets DLL 函式中的第一个,也唯有此函式呼叫成功後,才可以再呼叫其他 Windows Sockets DLL 的函式。此函式亦让使用者可以指定要使用的 Windows Sockets API 版本,及获取设计者的一些资讯。程式中我们要用 Winsock 1.1,所以我们在程式中有一段为: WSAStartup((WORD)((1<<8)|1),(LPWSADATA) &WSAData) 其中 ((WORD)((1<<8)|1) 表示我们要用的是 Winsock 「1.1」版本,而WSAData 则是用来储存由系统传回的一些有关此一 Winsock Stack 的资料。
The WSAStartup function initiates use of the Winsock DLL by a process. 在使用WSAStartup的使用出现了下面的问题: 源码:
#include "stdafx.h"
#include<windows.h>
int main()
{
WSADATA wsa={0};
WSAStartup(MAKEWORD(2,2),&wsa);
return 0;
}
出现的错误信息:
错误 1 error LNK2019: 无法解析的外部符号 _WSAStartup@8,该符号在函数 _main 中被引用 CompletePortDemo.obj CompletePortDemo
解决方法:添加#pragma comment(lib,"ws2_32.lib")
正确代码:
#include "stdafx.h"
#include<windows.h>
#pragma comment(lib,"ws2_32.lib")
int main()
{
WSADATA wsa={0};
WSAStartup(MAKEWORD(2,2),&wsa);
return 0;
}
文章转自:
SmileCloud201的博客
http://blog.sina.com.cn/u/2806987170
相关文章推荐
- java中远程调试
- 服务器的学习
- 不显示状态栏
- MPD+FreeRadius做PPPoE限制用户多次登录
- Tomcat web.xml中context-param,listener的作用及加载过程
- PHP中实现异步调用多线程程序代码
- AngularJS API
- 在Windows操作系统中的常见安全标识符
- 精通 Oracle+Python,第 5 部分:存储过程、Python 编程
- Dubbo
- linux 操作系统中cd切换目录命令的使用
- HDU5738 2016 Multi-University Training Contest 2 (组合数学+极角排序)
- unity3d中的http通信
- strncpy用法
- 程序存储杂记
- 1014. 福尔摩斯的约会 (20)-PAT乙级真题
- 蒲公英Bug管理云
- iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸
- webpack处理Img标签路径的几种情况
- 【Spring】Bean的生命周期