电子科技大学网络编程课件第六讲——客户软件举例.pptVIP

电子科技大学网络编程课件第六讲——客户软件举例.ppt

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
电子科技大学网络编程课件第六讲——客户软件举例

电子科大计算机学院 电子科大计算机学院 电子科大计算机学院 电子科大计算机学院 电子科大计算机学院 电子科大计算机学院 电子科大计算机学院 《计算机网络编程》 第六讲 客户程序举例 电子科技大学计算机学院 客户软件例子特点 封装:connectsock调用 Daytime服务的TCP客户端实现 Time服务的UDP客户端实现 Echo服务的TCP、UDP客户端实现 计算机网络编程 电子科大计算机学院 通过举例子说明上章的概念、算法。 例子的特点: 服务本身代码少,易理解 突出基本算法 说明客户/服务器如何使用系统调用 说明代码长短和服务数量的关系 模块化,过程化:隐藏细节:将复杂的程序分解成一组过程,模块化的程序 网络软件含有很多细节,隐藏细节减少出错机会 重用代码 将依赖操作系统的代码隔离出来,便于移植 计算机网络编程 电子科大计算机学院 每个客户与服务器建立联系必须: 选择协议(UDP或TCP) 查找服务器的机器名 查找所期望的服务并将其映射到协议端口号 分配套接字并与之连接 将这部分工作进行封装,置于某个过程当中,只需一次编码。 socket = connectTCP(machine, service); socket = connectUDP(machine, service); 正确抽象:高级操作,共享代码,减少出错 计算机网络编程 电子科大计算机学院 将所有的底层操作放置到connectsock中 实现connectTCP和connectUDP成为简单调用 计算机网络编程 电子科大计算机学院 int connectTCP(const char *host, const char *service) /* Arguments host -name of host to which connection is desired service –service associated with the desired port */ { return connectsock(host, service, “tcp”); } 计算机网络编程 电子科大计算机学院 int connectUDP(const char *host, const char *service) /* Arguments host -name of host to which connection is desired service –service associated with the desired port */ { return connectsock(host, service, “udp”); } int connectsock(const char *host, const char *service, const char *transport); connectsock:含有所有需要用来分配套接字和连接该套接字的代码,p58 #include 语句 宏定义和变量定义,函数声明,功能说明 函数名称和参数说明 局部变量定义 取得端口号,IP地址,和使用协议号 使用socket得到套接字 使用connect建立连接 返回套接字 计算机网络编程 电子科大计算机学院 复杂条件表达式:函数调用,赋值,比较在一行 memset和memcpy的使用特点 辅助的系统调用:gethostbyname, getprotobyname, getservbyname. errexit: 出错退出 计算机网络编程 电子科大计算机学院 允许用户获得当前的日期和时间 客户程序访问服务器获得信息 格式:weekday,month,day,year,time-timezone 例子:Thursday,February 22,1996 17:3743-PST 可以使用TCP也可以使用UDP实现,协议端口13 计算机网络编程 电子科大计算机学院 对于TCP版本 只要连接到来,服务器就构造包含当前日期时间的文本字符串发送,然后关闭连接。客户不用发送任何数据,发送了也会忽略。 计算机网络编程 电子科大计算机学院 对于UDP版本 服务器收到数据报,格式化当前的日期和时间将结果字符串放置到外发数据报中,发送给客户。激活这个响应的数据报会被丢失。 TCPdaytime.c 的实现说明。P61 #include语句 变量、恒量和函数定义 客户程序主函数main,含参数 int main(int argc, char *argv[]) 对参数的个数进行判断,根据参数数量的不同进行不同的参数处理 如果出错,提示使用方法,退出 调用TCPdaytime( )获得服务器服务 使用connectTCP得到套接字 循环等待服务器的响

文档评论(0)

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

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

版权声明书
用户编号:7065201001000004

1亿VIP精品文档

相关文档