- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《信息通信网络概论》课程实验 ;网络编程实验;Windows Socket 网络编程;
一、Windows Socket的由来
加利福尼亚大学伯克利分校为UNIX系统开发出了伯克利套接字(BSD socket),在此基础上扩展形成了windows套接字。
Windows Socket 规范是一套开放的、支持多协议的Windows 下的网络编程接口,它规范了Internet协议族(IPS,一般为TCP/IP)的API使用.
针对多样的网络协议,Windows Socket 统一了操作,简化了编程,使两个进程之间实现连接、通信。
;二、windows socket 的版本
Windows Socket 规范主要有两种版本即1.1和2.0版。 主要区别:1.1版本只支持TCP/IP协议,2.0版本可以支持多协议
三、编程时的加载事项
?需要包含头文件Winsock2.h,需要使用库ws2_32.lib,包含办法可以用语句来告诉编译时调用该库
#pragma comment(lib,”ws2_32.lib”);
如果使用Visual C++ 6.0,可以通过“工程” “设置”“工程设置”“链接”“对象/库模块”中加入“ws2_32.lib”
;
? WinSock是TCP/IP编程最低级的Windows API,其代码的一部分位于Winsock32.dll中,另一部分位于Windows核心,使用Windows API可以编写Internet 服务器和客户端程序。应用程序调用Windows Socket 的API实现相互之间的通信(应用程序与Windows Socket关系图)
;应用程序1;套接字有三种类型;socket;IP地址:Internet中的主机要与别的机器通信必须具有一个IP地址,IP地址是Internet中主机的标识。
表示形式:常用点分形式,如0,最后都会转换为一个32位的整数。
IP地址转换函数
inet_addr() 点分十进制数表示的IP地址转换为网络字节序的IP地址
inet_ntoa() 网络字节序的IP地址转换为点分十进制数表示的IP地址
;端口号; 如果把IP数据包的投递过程看成是给远方的一位朋友寄一封信,那么
IP地址就是这位朋友的所在位置,如安徽合肥中国科大计算系(依靠此信息进行路由)
端口号就是这位朋友的名字(依靠这个信息最终把这封信交付给这位收信者)
;字节序;网络字节序(NBO,Network Byte Order)
使用统一的字节顺序,避免兼容性问题
主机字节序(HBO,Host Byte Order)
不同的机器HBO是不一样的,这与CPU的设计有关
Motorola 68K系列,HBO与NBO是一致的
Intel X86系列,HBO与NBO不一致
字节排序函数
htonl 4字节主机字节序转换为网络字节序
ntohl 4字节网络字节序转换为主机字节序
htons 2字节主机字节序转换为网络字节序
ntohs 2字节网络字节序转换为主机字节序
;阻塞通信与非阻塞通信;返回;返回;注意事项:;为了支持Windows的消息驱动机制,WinSock和BSD套接口相比有以下一些扩充:;Winsock 的启动和终止
应用程序在使用Windows Sockets Dll之前必须先调用启动函数WSAStartup()。该函数的功能有两个:一是由应用程序指定所要求的Windows Sockets Dll 版本;二是获得系统Windows Sockets Dll的一些细节。
调用终止函数WSACleanup()来终止Windows Sockets DLL。
;Socket 编程过程(主要讲解使用Socket的过程); 实验一;int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData);; Windows Sockets DLL的初始化过程
WORD wVersionRequested;
WSADATA wsaData;
Int err;
wVersionRequested=0x0002;
Err=WSAStartup(wVersionRequested,wsaData);
If(err!=0)
{
/*通知用户找不到可用的Winsock DLL*/
Return;
}
If(wsaData.wVersion!=0x0002)
{
/*通知用户找不到可用的Winsock DLL,因为当前Winsock版本低于2.0*/
WSACleanup();
Return;
}
/*协商成功,启动了D
您可能关注的文档
- 安装中心及代理有关的工作计划.ppt
- 安装算量培训课件﹝5﹞.ppt
- 安特卫普大学﹝UA﹞安特卫普大学管理学院﹝UAMS﹞.ppt
- 安装驱动程序和常用软件﹝5﹞.ppt
- 安徽省保障性住房建设标准讲解–陈刚.ppt
- 安装算量培训教学课件.ppt
- 安财软件流程设计方法和实现技巧.ppt
- 安徽省马鞍山市第十一中学高一地理《2.4全球气候变化》课件﹝人教版必修1﹞.ppt
- 安阳市初3教学研讨会2011﹝1﹞.4.ppt
- 安规热力及机械部分.ppt
- 2025年浙江省林业局部分直属事业单位高层次人才(博士)岗位招聘笔试备考题库及完整答案详解1套.docx
- 2025年浙江宁波慈溪市招聘部分专业卫技人员105人笔试备考题库含答案详解.docx
- 2025年河南省疾病预防控制中心招聘方案笔试高频难、易错点备考题库及答案详解1套.docx
- 2025年海南三亚市交通运输局招聘应届海南专项研究生笔试备考题库及参考答案详解.docx
- 2025年河南省事业单位招聘471人联考(开封市岗位)笔试高频难、易错点备考题库附答案详解.docx
- 2025年浙江嘉兴市南湖区疾病预防控制中心赴温州医科大学招聘笔试备考题库及参考答案详解一套.docx
- 2025年江西省水利科学院厅直属事业单位高层次人才招聘笔试备考题库带答案详解.docx
- 2025年海南省各级疾控中心招聘68名事业编制人员笔试高频难、易错点备考题库带答案详解.docx
- 2025年浙江丽水云和县事业单位招聘20人笔试备考题库及答案详解一套.docx
- 2025年浙江台州市黄岩区事业单位招聘100人笔试高频难、易错点备考题库及参考答案详解一套.docx
文档评论(0)