项目1 网络编程的实现原理.ppt_第1页
项目1 网络编程的实现原理.ppt_第2页
项目1 网络编程的实现原理.ppt_第3页
项目1 网络编程的实现原理.ppt_第4页
项目1 网络编程的实现原理.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

TCP IP网络编程项目化教程 唐四薪主编 清华大学出版社2019 10 课程介绍 课程名 基于TCP IP的网络程序设计学时 48学时 讲授32学时 上机16学时 课程性质 必修考试 闭卷 第20周 项目1网络编程的实现原理 1 1网络程序的类型与应用领域1 2套接字及其种类1 3VC编程基础知识 问题导入 像QQ这样的网络通信软件是如何制作的呢 网络编程的核心技术 Socket编程 Socket TCP IP协议的编程接口起源于Unix系统的BerkeleySocketsWinSock Windows SocketsSocket 插座 使用Socket可不需要了解底层的实现细节 学习Socket编程的意义 以慕课网 为例 关于Socket编程的相关课程多达9门掌握了Socket技术 就等于掌握了推送 IM 物联网等领域的命脉学习本课程后物联网相关通信工作不再是难题 且你有能力成为物联网协议的制定者 学习本课程后 你可以尽情去吹牛 因为你学到的技术一听就是大牛 本节课内容 网络程序的体系结构套接字的含义与分类套接字接口的位置及实现方式 软件的体系结构 软件结构的演变 单机软件 网络软件 C S结构 B S结构 P2P结构 分布式系统DistributedSystem C S结构和B S结构 C S Client Server 客户端 服务器结构B S Browser Server 浏览器 服务器结构 C S结构 B S结构 C S结构和B S结构 C S 每台客户端电脑都要安装客户端软件客户端单独设计 功能强大B S 易于部署 跨平台网页界面难于实现复杂的操作 如右键菜单 树形导航等 每次操作要刷新网页 响应速度慢 B S编程的本质 基于HTTP的网络编程 又名Web编程 简单 编程语言PHP ASP JSP 浏览器 服务器 HTTP请求 HTTP响应 前端 后端 HTTP 超文本传输协议 B S结构的缺点 单向通信 C S编程的本质 C S编程 基于TCP IP的网络编程又名 Socket编程 套接字编程编程语言Java C Python C P2P结构 P2P PeertoPeer 点对点结构 对等网络结构 每台计算机同时作为客户端和服务器端 两个或多个客户端不经过服务器而直接通信的架构 优点 负载均衡 高性价比 隐私保护性好缺点 尚无统一的标准 适用场合 C S结构 适合于需要用到网络底层协议 或者无法运行浏览器的情况下 侧重于双向通信 控制B S结构 适合于信息发布 信息处理 数据库访问 侧重于信息发布P2P结构 适合于每台计算机都同时需要收发信息 C S与B S结构软件的用途 C S结构的程序大量应用于工业控制软件 如监控系统 医疗软件 超市POS软件 木马程序等 1 工业控制软件 2 物联网通信软件 一种公用的汽车全景影像服务系统 3 计算机等级考试系统 服务器端和客户端之间需要能够双向通信 服务器端还要能够禁止客户端在做选择题时进行程序切换 推送 B S结构软件的用途 B S结构的软件主要用于开发各种管理信息系统 包括网站 网络软件的分类 C SB SP2P客户端软件服务器软件 股票交易软件视频会议系统视频监控软件管理信息系统迅雷 电驴抢票软件 邮件客户端 ftp客户端 Socket网络编程语言的选择 C 网络编程的优势对底层硬件支持好 简单高效 运行效率高 适合做工业控制软件 物联网软件 是原生的Socket编程 可转学Unix网络编程 Java网络编程适合安卓平台编程 用来做推送 IM等 Python网络编程代码简单 适合做秒杀软件等客户端 1 4 2套接字的含义与分类 什么是套接字 Socket 独立于具体协议的网络编程接口套接字在TCP IP模型中位于传输层之上主要针对TCP UDP协议进行抽象不涉及应用层协议 27 Winsock套接字 Microsoft将Unix套接字中的大部分函数移植到Windows操作系统 形成了Windows套接字WinSock WindowsSocketsWindows套接字针对Windows操作系统的消息驱动机制 对原有的Unix套接字进行了扩展 定义了一部分新的函数 28 套接字是网络通信的端点 在网络中 主机H1上的一个套接字端点 endpoint 可以和主机H2上的另一个套接字端点进行通信IP地址 端口号和协议名可以唯一确定一个套接字 TCP IPSocket网络编程 29 83 套接字的分类 流式套接字 SOCK STREAM 提供了一个面向连接 可靠的数据传输服务 数据无差错 无重复的发送且按发送顺序接收 数据报套接字 SOCK DGRAM 提供无连接服务 数据包以独立的形式被发送 不提供无差错保证 数据可能丢失或重复 顺序发送 可能乱序接收 原始套接字 SOCK RAW 可以对较低层次协议 如IP直接访问 30 套接字在TCP IP模型中的位置 主机至网络层 互联层 IP ARP ICMP IGMP 传输层 TCP UDP 应用层 套接字Sockets Socket的位置 网络通信程序如何标识自己和对方 IP地址 端口号网络协议主机程序TCP或UDP全相关 五元组 IP地址 端口号网络协议IP地址 端口号客户端进程服务器端进程 半相关 TCP IPSocket网络编程 33 83 基本函数 Socket网络通信的基本函数socket创建套接字bind绑定本机地址和端口listen监听端口accept接受连接connect建立连接recv数据接收send数据发送closesocket关闭套接字 WinSock的工作流程 WinSock编程学习步骤 编写Win32Console版的网络通信程序编写Win32Application版的网络通信程序编写MFC版的网络通信程序理解同步和异步 编写异步通信的网络程序利用多线程编写一对多的网络程序 Socket编程的难点 WinSock的5种I O模型WSAAsyncSelect模型WSAEventSelect模型Select模型重叠I O模型IO完成端口模型VC多线程编程创建线程线程之间的参数传递 实现异步通信 实现一对多通信 1 3VC编程基础知识 VC中声明字符串的方法 charuser 10 charuser 10 小猫叫 charuser 小猫叫 constchar wel 欢迎您 尊敬的 声明字符串常量 该字符串不能修改char Buf newchar len 字符串长度为变量len 字符串处理函数 strcat 连接两个字符串 并将连接后的字符串保存到第一个参数代表的字符串中 strcmp 比较字符串 常用于判断字符串是否为某个值strlen 获取字符串的长度 不包括字符串末尾的 0 strcpy 复制字符串 常用于给字符串重新赋值 sprintf 用于将多个字符串变量或其他变量连接在一起组成一个新的字符串 sizeof 这是个运算符 求所占的内存空间 VC 新增的数据类型 LP表示指针 习题 1 对于程序 charstr abcde inta strlen str intb sizeof str 则a和b的值分别是 A 5 5B 5 6C 6 5D 5 42 在程序中要使用cin函数 则应包含下列哪个头文件 A stdio hB stdlib hC iostream hD windows h3 有语句 charsendbuf 256 服务器 若要给sendbuf

温馨提示

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

评论

0/150

提交评论