实验讲稿–东南大学自动化学院.ppt.pptVIP

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

您可能关注的文档

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档