第一章网络程序设计1_第1页
第一章网络程序设计1_第2页
第一章网络程序设计1_第3页
第一章网络程序设计1_第4页
第一章网络程序设计1_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 网络程序设计与开发网络程序设计与开发西安邮电大学西安邮电大学 通信工程系通信工程系 杨光杨光Email:2022-2-2 第第2页页课程安排课程安排n理论课理论课16学时学时n实验实验16学时学时考核方式考核方式n到课考勤成绩:到课考勤成绩:30n实验过程实验过程 40%n实验报告:实验报告:30%2022-2-2 第第3页页课程目标课程目标n掌握网络编程的基本概念掌握网络编程的基本概念 n理解网络程序设计的开发过程和开发工具理解网络程序设计的开发过程和开发工具n掌握掌握Win Sock网络通信的编程方法网络通信的编程方法n了解互联网应用及编程方法了解互联网应用及编程方法2022-2-2 第

2、第4页页主要主要参考书参考书n网络程序设计网络程序设计与开发与开发,鲁斌,鲁斌,清华大学出版社清华大学出版社2022-2-2 第第5页页第一讲第一讲 网络程序设计概述网络程序设计概述2022-2-2 第第6页页主要内容主要内容 1. 1.网络程序的基本概念网络程序的基本概念 2.2.网络协议与工作模式网络协议与工作模式 3. 3.移动互联时代的网络应用移动互联时代的网络应用 4 4. .互联网应用软件的开发工具互联网应用软件的开发工具 5. 5.软件开发过程软件开发过程 2022-2-2 第第7页页1.1.网络程序的基本概念网络程序的基本概念广义的网络程序:广义的网络程序: 在网络环境下完成特

3、定的功能与需求的软件程序。在网络环境下完成特定的功能与需求的软件程序。狭义的网络程序:狭义的网络程序: 基于基于TCP/IPTCP/IP网络协议,完成特定的功能与需求的软网络协议,完成特定的功能与需求的软件程序件程序 根据网络类型的不同以及功能需求的不同所需的根据网络类型的不同以及功能需求的不同所需的网络程序也有所不同。网络程序也有所不同。网络程序举例网络程序举例最简单的网络形式:点到点网络最简单的网络形式:点到点网络例:例: 串口通信串口通信RS 232电缆如果要实现基于串口通信的聊天功如果要实现基于串口通信的聊天功能,程序至少应包含几个部分?能,程序至少应包含几个部分?上层应用:界面、消息

4、输入输出、消息管理、通信管理底层通信:串口初始化、启动关闭、数据发送、数据接收、异常处理网络程序举例网络程序举例基于互联网的应用基于互联网的应用例:图像监控系统例:图像监控系统网络图像采集设备:网络图像采集设备:图像采集程序,网络通信程序服务器:服务器:图像存储与管理程序,图像浏览服务程序,网络通信程序客户端:客户端:图像浏览程序,网络通信程序Internet网络程序包含的两个基本组成部分:网络程序包含的两个基本组成部分:应用功能程序、网络通信程序应用功能程序、网络通信程序2 网络协议与工作模式2022-2-2 第第12页页计算机互联网的基本结构计算机互联网的基本结构n分层分层网络体系结构网络

5、体系结构:为了完成:为了完成网络中各系统网络中各系统间的通信合作,把每个间的通信合作,把每个系统上系统上的的互互连连功能划分成定义明确的层次,功能划分成定义明确的层次,并并规定同层次规定同层次实体实体通信的通信的协议协议及相邻及相邻层层实体实体之间的接口及服务之间的接口及服务。n分层的好处分层的好处n各层之间是独立的各层之间是独立的n灵活性好灵活性好n结构上可分割开结构上可分割开n易于实现和维护易于实现和维护n能促进标准化工作能促进标准化工作n层数多少要适当层数多少要适当n若层数太少,就会使每一层的协议太复杂若层数太少,就会使每一层的协议太复杂n层数太多会在描述和综合各层功能的系统工程任务时遇

6、到较多的困难层数太多会在描述和综合各层功能的系统工程任务时遇到较多的困难IP包封装与解封装、寻址、路由,实现任意主机间的IP包传送提供进程间的通信功能并不定义该层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。(如Ethernet、PPP、HDLC、Frame relay等)TCP/IP协议栈解决某一类应用问题,规定应用进程在通信时所遵循的协议。套接字套接字(socket) nTCP/IP 使用使用socket作为进程通信的基本构件,用于唯作为进程通信的基本构件,用于唯一识别互连网上的一个通

7、信进程一识别互连网上的一个通信进程nsocket和端口、和端口、IP 地址的关系是:地址的关系是:IP 地址3 端口号1500 3, 1500socket为实现网络上两个进程之间的通信,需建立一对为实现网络上两个进程之间的通信,需建立一对socketPort1Port2AP1AP2主机主机1主机主机2socket1:, 1500socket2:, 1800 熟知端口熟知端口端口号端口号业务名业务名描述描述20FTPdataFTP数据连接数据连接21FTPcontFTP控制连接控制连接23Telnet远程终端接

8、入远程终端接入25SMTP简单邮件传输简单邮件传输53Domain域名服务域名服务69TFTP简单文件传送协简单文件传送协议议80WWWWeb服务服务计算机网络的工作模式:计算机网络的工作模式:对等网络(对等网络(Peer to PeerPeer to Peer)和基于服务器的网络和基于服务器的网络 (Server based)Server based)对等网络的特点:对等网络的特点: 在对等网络中,没有专用的服务器,网上所有的计算机地位是平等的;在对等网络中,没有专用的服务器,网上所有的计算机地位是平等的; 网络中的资源是分散在每台计算机上,网上所有计算机都既是客户机又网络中的资源是分散在每

9、台计算机上,网上所有计算机都既是客户机又是服务器;是服务器; 每台计算机的用户自己决定将其计算机中的哪些数据共享到网络中去,每台计算机的用户自己决定将其计算机中的哪些数据共享到网络中去,没有负责整个网络管理的网络管理员;没有负责整个网络管理的网络管理员; 优点:成本低,实现简单 缺点:难以进行集中管理,安全性差,仅适于小规模网络 例:例:局域网中的用户工作组 基于服务器的网络的特点基于服务器的网络的特点: : 网络中有一台或多台较高性能计算机集中进行共享数据库的管理和存网络中有一台或多台较高性能计算机集中进行共享数据库的管理和存取,称为服务器。取,称为服务器。 客户机向服务器发起请求,访问其服

10、务。客户机向服务器发起请求,访问其服务。 由网络操作系统和网络管理员对网络进行统一管理由网络操作系统和网络管理员对网络进行统一管理优点优点: :易于管理共享资源,数据备份方便易于管理共享资源,数据备份方便安全性好安全性好 网络规模基本不受限制网络规模基本不受限制 例:例:HttpHttp服务服务 FTPFTP服务服务 邮件服务邮件服务基于服务器的网络结构又分为:Client/Server结构(胖客户机)Browser/Server结构(瘦客户机)n客户端客户端/服务器服务器(Client/Server)模式模式 在在C/S模式下,为了使用服务器的服务,需要在客户机上运行特定的模式下,为了使用服

11、务器的服务,需要在客户机上运行特定的客户端程序客户端程序,在服务器上运行,在服务器上运行服务器程序服务器程序。通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。 客户端程序服务器程序Internet例:大型网络游戏、手机APP等n客户端客户端/服务器服务器(Client/Server)模式模式 优点:优点: 应用服务器运行数据负荷较轻。 界面和操作可以很丰富。 缺点:缺点:用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。维护成本高,发生一次升级,则所有客户端的程序都需要改变。 n在这种结构中,客户端程序是通过

12、在这种结构中,客户端程序是通过WWW浏览器来实现,极少部分事务逻辑浏览器来实现,极少部分事务逻辑在前端(在前端(Browser)实现,但是主要事务逻辑在服务器端()实现,但是主要事务逻辑在服务器端(Server)实现。)实现。n浏览器浏览器/服务器服务器(Browser/Server)模式模式服务器服务器浏览器浏览器Internet例:基于浏览器的各种应用B/S模式的优缺点模式的优缺点优点:优点: 客户端无需安装专用程序,有客户端无需安装专用程序,有Web浏览器即可浏览器即可 系统升级时只需升级服务器,无需升级客户端系统升级时只需升级服务器,无需升级客户端缺点:缺点: 跨浏览器表现不尽人意跨浏

13、览器表现不尽人意 界面和功能的丰富程度及个性化程度不及界面和功能的丰富程度及个性化程度不及C/S 在速度和安全性方面需要花费巨大精力在速度和安全性方面需要花费巨大精力 页面需要不断刷新,响应速度明显降低(页面需要不断刷新,响应速度明显降低(Ajax技术的运用技术的运用可以带来一定改善)可以带来一定改善)2022-2-2 第第26页页主要内容主要内容3 3. .移动互联时代的网络应用移动互联时代的网络应用从Web world 到Mobile world1994年年4月月20日,日,NCFC工程工程(National Computing and Networking Facility of Chi

14、na)通过一条)通过一条64K的国际专线,的国际专线,全功能接入国际互联网,中国互联网时代从此开启。全功能接入国际互联网,中国互联网时代从此开启。1996年年1月,中国公用计算机互联网月,中国公用计算机互联网(CHINANET)全国骨干网正全国骨干网正式开通,全国范围的公用互联网络开始提供服务。式开通,全国范围的公用互联网络开始提供服务。此后,中国互此后,中国互联网应用发展迅猛,各种内容和应用蓬勃发展,各大互联网公司联网应用发展迅猛,各种内容和应用蓬勃发展,各大互联网公司纷纷崛起。纷纷崛起。2003年底,我国网民达年底,我国网民达7950万。万。2008年年6月月30日,日,我国网民总人数达到

15、我国网民总人数达到2.53亿人,首次跃居世界第一。亿人,首次跃居世界第一。2014年年12月,我国网民规模达月,我国网民规模达6.49亿人,互联网普及率为亿人,互联网普及率为47.9%. 移动互联网移动互联网,是将互联网的技术、平台、商业模式和应用与移动,是将互联网的技术、平台、商业模式和应用与移动通信技术结合起来,成为一体。移动互联网的定义有广义和狭义之通信技术结合起来,成为一体。移动互联网的定义有广义和狭义之分。广义的移动互联网是指用户可以使用手机、分。广义的移动互联网是指用户可以使用手机、PDA或其他手持终或其他手持终端以无线的方式通过各种网络(端以无线的方式通过各种网络(WLAN、Wi

16、max、GPRS、3G、4G)等接入互联网,狭义的移动互联网则是指用户使用手机、)等接入互联网,狭义的移动互联网则是指用户使用手机、PDA或其他手持终端通过移动通信网络接入互联网。或其他手持终端通过移动通信网络接入互联网。 2001年年11月,中国移动开启月,中国移动开启“移动梦网移动梦网”创业计划,标志着中创业计划,标志着中国移动互联网的开始。国移动互联网的开始。 2008 年以来全球年以来全球传统传统互联网流量增长速度有所放缓,但移动互互联网流量增长速度有所放缓,但移动互联网的使用量却呈现大幅上升趋势联网的使用量却呈现大幅上升趋势。自。自2009年以来,随着我国年以来,随着我国3G牌照的发

17、放,智能移动终端的普及,我国移动互联网得到的迅速的牌照的发放,智能移动终端的普及,我国移动互联网得到的迅速的发展。社交网络、基于位置的应用发展。社交网络、基于位置的应用LBS(Location Based Service) 、移动、移动APP、互联网电子商务等得到了广泛的应用。、互联网电子商务等得到了广泛的应用。移动互联网的概念移动互联网的驱动力移动互联网的发展现状国内移动数据服务商国内移动数据服务商QuestMobile发布了发布了2015年中国移动互联网研究年中国移动互联网研究报告报告,报告显示:截止到,报告显示:截止到2015年年12月,国内在网活跃移动智能设备数月,国内在网活跃移动智能

18、设备数量达到量达到8.99亿,其中,亿,其中,IOS设备与安卓设备比例为设备与安卓设备比例为3:7MAU(月活跃用户人数)排名前十位的领域是即时通讯、应用商(月活跃用户人数)排名前十位的领域是即时通讯、应用商店、在线视频、在线音乐、浏览器、综合资讯、搜索下载、购物店、在线视频、在线音乐、浏览器、综合资讯、搜索下载、购物商城、地图导航、安全服务商城、地图导航、安全服务移动互联网六大技术领域移动终端软件主流移动操作系统:Android、iOS、Windows Phone2022-2-2 第第35页页HTML5HTML5是下一代WEB语言,目标是取代现有的HTML4.01和XHTML1.0标准。它希

19、望能够减少互联网富应用(RIA)对Flash、Silverlight、JavaFX等的依赖,并且提供更多能有效增强网络应用的API。RIA(Rich Internet Applications)丰富互联网程序,具有高度互动性、丰富用户体验以及功能强大的客户端。相关技术包括Adobe Flash/Flex、 Java SWT、 JavaFX、 SilverLight、 ActiveX、HTML5等HTML5的应用要素的应用要素HTML5对各方产业链的影响对各方产业链的影响对未来的展望对未来的展望 进入移动互联网时代,一些关键的技术将支撑并推动新的业务应用的发展5G技术提供超高的无线带宽云平台与云

20、计算提供巨大的存储与计算资源软硬件技术3D、全息、虚拟现实2022-2-2 第第39页页主要内容主要内容4 4. .互联网应用软件的开发工具互联网应用软件的开发工具 C/S应用程序开发的常见语言应用程序开发的常见语言常用语言常用语言C+, C#, Java, Delphi, VB编译性语言:编译性语言:把做好的源程序全部编译成二进制代码的可运行程序。特点:特点:执行速度快、效率高;依赖编译器、跨平台性差些。如C、C+、Delphi、Pascal,Fortran。解释性语言:解释性语言:在运行程序的时候才翻译,每执行一次就要翻译一次。每个语句都是执行的时候才翻译。特点:特点: 执行速度慢、效率低

21、;依赖解释器、跨平台性好。如Java、BasicJava语言比较特殊,语言比较特殊,java程序也需要编译,但是没有直接编译称为机器语程序也需要编译,但是没有直接编译称为机器语言,而是编译(言,而是编译(javac)为字节码,然后在)为字节码,然后在JVM中用解释方式执行字节码;中用解释方式执行字节码;为了加快程序运行速度,引入了为了加快程序运行速度,引入了JIT(just in time)编译器编译器,一般情况下,一般情况下,JIT只对经常执行的字节码进行编译,从而提高执行效率。只对经常执行的字节码进行编译,从而提高执行效率。C+优点:1.效率高,语言功能强大,适于开发复杂算法2.所开发的程

22、序的可复用性、可扩展性强3.更适于底层程序开发缺点:缺点:1.跨平台性差2.学习门槛高3.很多类库需要自行开发Java优点:1.跨平台性强2.强大的类库支持,网络功能强3.开源缺点:缺点:1.效率低2.界面开发能力较弱3.不适于底层程序开发 C#是微软在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言。它继承了C语言的语法风格,同时又继承了C+的面向对象特性,并对Internet进行了重新设计,使用的是.NET框架的类库。C#语言的特点:1.是一种特殊的解释性语言,首先将源代码编译成中间语言,运行时再将中间语言翻译成平台专用的代码。跨平台性、

23、可移植性较好。2.安全性、健壮性高3.互联网编程能力强4.Windows编程能力强于Java5.语言简洁,学习难度相对较低6.适用于快速应用开发Android:开发环境Eclipse、Android Studio; 开发语言Java、C/C+IOS:开发环境X-Code 开发语言:Objective-C、SwiftWindows Phone:开发环境:Visual Studio 2010以上 开发语言:C#、C/C+、VB移动终端主要开发工具动态网站工作原理动态网站工作原理1)用户请求一个)用户请求一个*.asp页面页面2) Web服务器响应该请求,并根据扩展名服务器响应该请求,并根据扩展名.

24、asp识别出识别出ASP文件,从硬盘或内存中文件,从硬盘或内存中获取相应的获取相应的ASP文件。文件。 3)Web服务器将服务器将ASP文件发送到脚本引擎(文件发送到脚本引擎(asp.dll)文件中,脚本引擎将)文件中,脚本引擎将ASP文文件从头到尾进行解释处理,并根据件从头到尾进行解释处理,并根据ASP文件中的脚本命令生成相应的文件中的脚本命令生成相应的HTML网页并返网页并返回给回给web服务器,服务器, 若若ASP文件中含有访问数据库的请求,就通过数据库连接组件与文件中含有访问数据库的请求,就通过数据库连接组件与后台数据库相连。后台数据库相连。4)Web服务器向用户返回服务器向用户返回HTML网页网页B/S应用程序开发的常用工具应用程序开发的常用工具 主流的动态网站开发技术主流的动态网站开发技术PHP (Hypertext Preprocessor,超文本处理器):,超文本处理器):是一种是一种HTML内嵌式内嵌式的脚本语言,在服务器端执行,执行效率高。跨平台,开源,函数库资源丰的脚本语言,在服务器端执行,执行效率高。跨平台,开源,函数库资源丰富,运行速度快。缺点是缺乏规模支持和多层结构支持,数据库接口支持不富,运行速度快。缺点是缺乏规模支持和多层结构支持,数据库接口支持

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论