Windows网络编程之WinSock编程基础
来源:互联网 发布:软件测试缺陷分析报告 编辑:程序博客网 时间:2024/04/28 07:35
更多精彩内容,请见:http://www.16boke.com
by zxy,Java/C++编程交流群:168424095
(1)WSAStartup()函数用于初始化Windows Sockets,并返回WSADATA结构体。只有调用WSAStartup()函数后,应用程序才能调用其他WindowsSockets API函数,实现网络通信。
函数原型:
intWSAStartup(
INWORD wVersionRequested,//Windows Sockets DLL规定调用者可以使用的WindowsSockets规范的版本,为WORD类型。高位字节中存储副版本号,低位字节中存储高版本号。可以使用MAKEWORD()函数返回该值。
OUTLPWSADATA lpWSAData//指向WSADATA结构体的指针,用于接收Windows Sockets执行的数据
)
成功返回0
(2)IP地址的表示形式
(2.1)网络字节顺序格式 TCP/IP规定,低位存储地址中保存数据的高位字节,数据传输顺序是由高位至低位进行的。
用结构体in_addr来保存网络字节顺序格式的IP地址,定义如下:
structin_addr{
union{
struct{u_chars_b1,s_b2,s_b3,s_b4;} S_ub_b;//由4个u_char组成的主机格式IP地址
struct{u_shorts_w1,s_w2;}S_un_w;//由2个u_short组成的主机格式IP地址
u_longS_addr;//以u_long变量表示的主机格式IP地址
}S_un;
inet_addr()、inet_ntoa()实现点分法IP地址字符串和网络字节顺序格式IP地址之间的转换
inet_addr()将点分法IP地址字符串转换为in_addr结构体中的IP地址格式,函数原型:
unsignedlong inet_addr(
constchar* cp//点分法IP地址字符串
);
正确,返回unsignedlong类型的网络字节顺序格式IP地址,错误返回INADDR_NONE
inet_ntoa()将in_addr结构体中IP地址转换为点分法IP地址字符串,函数原型:
charFAR* inet_ntoa(
structin_addr in//要进行转换的IP地址
);
返回char*类型的IP地址。
(2.2)主机字节顺序格式
用htonl()、htos()、ntohl()、htohs()实现主机字节顺序格式和网络字节顺序格式的转换。
htonl()将u_long类型的主机字节顺序格式IP地址转换为TCP/IP网络字节顺序格式,函数原型:u_long htonl(u_longhostlong);
htons()将u_short类型的主机字节顺序格式IP地址转换为TCP/IP网络字节顺序格式,函数原型:u_short htons (u_short hostshort);
ntohl()将u_long类型的TCP/IP网络字节顺序IP地址转换为格式主机字节顺序格式,函数原型:u_longntohl (u_long netlong);
ntohs()将u_short类型的TCP/IP网络字节顺序IP地址转换为格式主机字节顺序格式,函数原型:u_shortntohs (u_ short netlong);
更多精彩内容,请见:http://www.16boke.com
- Windows网络编程之WinSock编程基础
- Windows的网络编程-之一-WinSock基础
- Windows的网络编程-之一-WinSock基础
- Windows网络编程之Winsock 编程接口实验
- windows网络编程之Winsock非阻塞select模式服务器
- Winsock编程基础之ioctlsocket
- Windows网络编程:winsock文件传输范例
- windows编程学习--网络编程学习--winsock编程(1)
- windows编程--网络编程学习--winsock编程(2)
- Window网络编程之Winsock(一)起步
- Windows Socket 网络编程(四) —— Winsock 编程接口
- Windows网络编程基础
- Windows网络编程基础
- winsock编程之基础篇代码---服务器
- winsock编程之基础篇---客户端
- WinSock网络编程
- 网络编程 Winsock简介
- 网络编程; winSock;
- oracle短时间内删除数据恢复
- js 删除 cookie
- 5个必须掌握的maven命令
- Android播放GIF动画
- 关于Linux安装不了QQ问题
- Windows网络编程之WinSock编程基础
- Memcache不足
- 对PyObject的认识
- dedecms 5.7后台去版权
- 代理执行document.save
- Android 播放Gif 动画
- X11 Forwarding with SSH(SecureCRT Setup)
- 6年程序员的经验
- 《数据库系统概论》知识点5 关系数据理论