网络程序设计-01-网络程序设计基础-课件v0.1.2.ppt_第1页
网络程序设计-01-网络程序设计基础-课件v0.1.2.ppt_第2页
网络程序设计-01-网络程序设计基础-课件v0.1.2.ppt_第3页
网络程序设计-01-网络程序设计基础-课件v0.1.2.ppt_第4页
网络程序设计-01-网络程序设计基础-课件v0.1.2.ppt_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

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

文档简介

网络程序设计,2,课程介绍,课程作用(为什么学)课程内容(学什么)课程特点(怎么学)授课方式考核方式推荐参考资料,3,1.课程作用(为什么学),培养网络程序开发实践能力,加强网络理论和编程知识的理解能力,为进一步学习信息安全相关知识打好基础。,4,2.课程内容(学什么)共30学时,第1单元网络程序设计基础第2单元套接字I/O模型编程第3单元原始套接字编程第4单元高级编程,5,2.课程内容(学什么)共30学时,第1单元网络程序设计基础(1)网络程序设计基础(2)WinSock编程接口基础(3)TCP/UDP客户端与服务端基本编程第2单元套接字I/O模型编程(4)Select编程模型(5)WSAAsyncSelect编程模型(6)WSAEventSelect编程模型(7)重叠I/O和完成端口I/O编程模型(了解)(8)机动:编程大作业,6,2.课程内容(学什么)共30学时,第3单元原始套接字编程(9)原始套接字编程(基础、ICMP)(10)原始套接字编程(网络嗅探器)(11)端口扫描编程第4单元高级编程(12)Winsock服务提供者接口(了解)(13)FTP客户端编程(14)多线程编程实践考试(15)编程实践考试,7,3.课程特点(怎么学),理论引导,强调实践,通过实践促进理论理解。如何学好这门课?动手,动手,动手!,8,4.授课方式,(1)理论讲解(15分钟)(2)效果演示(5分钟)(3)编程详解(25分钟)(4)随堂实践(45分钟),9,5.考核方式,(1)笔试60%(2)机试20%(3)大作业15%(4)日常作业5%(5)课堂表现5%(加分),10,5.考核方式,大作业题目:网络聊天工具文件传输工具网络嗅探器端口扫描工具FTP多线程客户端大作业分组:每4人一组。按照宿舍住宿情况分组,如果宿舍为8人,则分两组;如果宿舍为4人,则每宿舍一组。,11,6.推荐参考资料,(1)Windows网络与通信程序设计(第2版)王艳平,人民邮电出版社,2010.(2)VC+深入详解(修订版)孙鑫,电子工业出版社,2012.(3)网络编程实用教程(第2版)叶树华,人民邮电出版社,2010.(4)博客园网站(5)程序员网站,网络程序设计基础,网络程序设计,13,网络程序设计基础,网络程序体系结构网络程序通信实体网络程序设计环境澄清一些概念动手实践,14,网络程序设计基础,网络程序体系结构网络程序通信实体网络程序设计环境澄清一些概念动手实践,15,1.网络程序体系结构,客户机/服务器(C/S)结构浏览器/服务器(B/S)结构点对点(P2P)结构,16,1.网络程序体系结构,客户机/服务器(C/S)结构,特点:(1)客户端程序之间并不直接交流信息,它们仅与服务器通信;(2)服务器方有一个固定的、公开的IP地址(端口号)。,常见应用:FTP服务器与客户端(如Serv-U与CuteFtp)WEB服务器与客户端邮件服务器与客户端,17,1.网络程序体系结构,浏览器/服务器(B/S)结构,特点:客户端程序是通用的浏览器,勿需安装安装特定的客户端程序。,常见应用:WEB服务器与浏览器实质上是特殊的C/S结构!,18,1.网络程序体系结构,点对点结构(P2P,peer-to-peer),常见应用:BT、电驴(eMule)、迅雷、QQ等你经历过吗?网页上直接下载时提示链接无效的文件资源,点右键用迅雷下载却可以下载。为什么呢?,19,1.网络程序体系结构,点对点结构(P2P,peer-to-peer),特点:不必经过特定服务器,任意两台主机对之间都可以通信。,优点:可伸缩。每增加一个peer,虽然增加了对资源的需求,但也增加了对资源的供给。缺点:难以管理。P2P用户高度分散,随时有可能离开网络。如果一个重要文件只有一个peer有,则该peer离开时,就无法得到这个重要文件。实际上单纯的P2P程序很少,大多有一个中心服务器来维护总体状态,初始化客户端之间的连接等。其实是一种混合结构。,20,引入网络程序通信实体,网络程序通信的实体是什么?它们又通过什么技术来实现通信的呢?进程是通信的实体,进程在不同终端系统上通过计算机网络来交流信息。进程从网络收发数据都是通过套接字(Socket)来进行的。,21,网络程序设计基础,网络程序体系结构网络程序通信实体网络程序设计环境澄清一些概念动手实践,22,2.网络程序通信实体,客户和服务器进程,在一对进程的通信会话上下文中,初始化通信的进程称为客户,等待通信连接的进程称为服务器。,23,2.网络程序通信实体,套接字(Socket),进程从网络收发数据都是通过套接字(Socket)来进行的。Socket英文含义:(电源)插座、插孔。是方便用电的接口。,套接字实质上是程序与网络间的API(应用程序编程接口,ApplicationProgrammingInterface),方便程序调用系统底层的网络功能。,24,2.网络程序通信实体,通信实体如何识别对方?,(1)在网络层(IP层)使用IP地址识别。(2)在传输层(TCP/UDP层)使用(IP地址+端口号)识别。,25,网络程序设计基础,网络程序体系结构网络程序通信实体网络程序设计环境澄清一些概念动手实践,26,3.网络程序设计环境,(1)熟悉Socket调试工具(2)熟悉VC6.0和MSDN、AssistX(3)配置VC6.0网络编程环境,27,3.网络程序设计环境,(1)熟悉Socket调试工具,28,3.网络程序设计环境,(2)熟悉VC6.0和MSDN、AssistX,29,3.网络程序设计环境,(3)配置VC6.0网络编程环境,SDK:为利用Windows提供的最新网络编程接口,进行网络程序开发前,需要安装平台SDK(PlatformSoftwareDevelopmentKit,平台软件开发工具包),并配置开发环境。DDK:如果进行内核网络组件开发,还需要再安装DDK(DeviceDevelopmentKit,设备开发工具包)。,30,网络程序设计基础,网络程序体系结构网络程序通信实体网络程序设计环境澄清一些概念动手实践,31,4.澄清一些概念,(1)哪个编程语言最好?没有最好的语言,只有最适合的语言!(2)VC6.0太陈旧了!?没有最好的工具,只有最适合的工具!(3)如何编写好的程序?,32,4.澄清一些概念,(3)如何编写好的程序?,良好的代码编写习惯(命名、缩进等)推荐:我的博客文章如何编写可读性好的代码http:/summerR经典书籍编写可读代码的艺术;软件大师KentBeck说:“我不是伟大的程序员,我只是有着良好习惯的程序员而已”。,33,4.澄清一些概念,(3)如何编写好的程序?,一定要理清编程思路方法:先在纸上理清思路(草图),再在IDE中用注释写出思路,最后再编写代码。,34,4.澄清一些概念,(3)如何编写好的程序?,小步前进,不断测试方法:一次只编写少量代码,实现少量功能,立即进行测试,确认正确后再进行下一步。不要一下编写大量代码,然后出了很多错误,不停的debug,效率太低!,35,网络程序设计基础,网络程序体系结构网络程序通信实体网络程序设计环境澄清一些概念动手实践,36,5.动手实践,(1)熟悉Socket调试工具(2)查看VC6.0网络编程环境配(3)熟悉VC6.0和MSDN、AssistX要求:编译一个TCP客户端程序,并将其与Sockect调试工具进行通信。在代码的关键词或函数名上按F1键,查看MSDN中对应的文档内容。,37,作业,要求:下一次上课时带个人电脑和作业本来,抽查作业完成情况。未完成者扣除总绩分1分。A课后实践:在自己的电脑上搭建VC网络编程环境(可以使用VC6、VS2005或更高版本),编译完成一个网络程序,并测试该程序与Socket调试工

温馨提示

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

评论

0/150

提交评论