《客户软件举例》PPT课件

《客户软件举例》PPT课件

ID:41170328

大小:281.01 KB

页数:19页

时间:2019-08-18

《客户软件举例》PPT课件_第1页
《客户软件举例》PPT课件_第2页
《客户软件举例》PPT课件_第3页
《客户软件举例》PPT课件_第4页
《客户软件举例》PPT课件_第5页
资源描述:

《《客户软件举例》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《互联网络程序设计》第六讲客户程序举例电子科技大学计算机学院客户软件例子通过举例子说明上章的概念、算法。例子的特点:服务本身所需要的代码很少,易理解突出基本算法说明客户/服务器如何使用系统调用代码长短和服务数量的关系模块化,过程化隐藏细节:将复杂的程序分解成一组过程,模块化的程序网络软件含有很多细节,隐藏细节减少出错机会重用代码将依赖操作系统的代码隔离,便于移植互联网络程序设计电子科大计算机学院针对客户程序的过程库例子每个客户与服务器建立联系必须:选择协议(UDP或TCP)查找服务器的机器名查找所期望的服务并将其映射到协议端口号分配套接字并与

2、之连接将这个过程设计为过程库的一部分,只需一次编码。socket=connectTCP(machine,service);socket=connectUDP(machine,service);正确抽象:高级操作,共享代码,减少出错互联网络程序设计电子科大计算机学院实现connectTCP和connectUDP将所有的底层操作放置到connectsock中实现connectTCP和connectUDP成为简单调用intconnectTCP(constchar*host,constchar*service)/*Argumentshost-name

3、ofhosttowhichconnectionisdesiredservice–serviceassociatedwiththedesiredport*/{returnconnectsock(host,service,“tcp”);}互联网络程序设计电子科大计算机学院实现connectTCP和connectUDPintconnectsock(constchar*host,constchar*service,constchar*transport);intconnectUDP(constchar*host,constchar*service)/

4、*Argumentshost-nameofhosttowhichconnectionisdesiredservice–serviceassociatedwiththedesiredport*/{returnconnectsock(host,service,“udp”);}互联网络程序设计电子科大计算机学院构成连接的过程connectsock:含有所有需要用来分配套接字和连接该套接字的代码,p58#include语句宏定义和变量定义,函数声明,功能说明函数名称和参数说明局部变量定义取得端口号,IP地址,和使用协议号使用socket得到套接字使用

5、connect建立连接返回套接字互联网络程序设计电子科大计算机学院connectsock说明复杂条件表达式:函数调用,赋值,比较在一行memset和memcpy的使用特点辅助的系统调用:gethostbyname,getprotobyname,getservbyname.errexit:出错退出interrexit(constchar*format,…){va_listargs;va_start(args,format);vfprintf(stderr,format,args);va_end(args);exit(1);}互联网络程序设计电子

6、科大计算机学院DAYTIME服务允许用户获得当前的日期和时间客户程序访问服务器获得信息格式:weekday,month,day,year,time-timezone例子:Thursday,February22,199617:3743-PST可以使用TCP也可以使用UDP实现,协议端口13互联网络程序设计电子科大计算机学院DAYTIME服务可以使用TCP也可以使用UDP实现对于TCP版本只要连接到来,服务器就构造包含当前日期时间的文本字符串发送,然后关闭连接。客户不用发送任何数据,发送了也会忽略。对于UDP版本服务器收到数据报,格式化当前的日期

7、和时间将结果字符串放置到外发数据报中,发送给客户。激活这个响应的数据报会被丢失。互联网络程序设计电子科大计算机学院针对DAYTIME的TCP客户实现TCPdaytime.c的实现说明。P61#include语句变量、恒量和函数定义客户程序主函数main,含参数intmain(intargc,char*argv[])对参数的个数进行判断,根据参数数量的不同进行不同的参数处理如果出错,提示使用方法,退出调用TCPdaytime()获得服务器服务使用connectTCP得到套接字循环等待服务器的响应,并送到标准文件显示互联网络程序设计电子科大计算机

8、学院从TCP连接中进行读TCP提供流式服务,不保持记录边界发送应用程序和接收应用程序分开了发送2个64字节,可能接收1次或者3次完成一次TCP连接的读操作调用返回的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。