




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SoftwareEngineering SchoolofelectronicandInformationEngineering FOSHANUniversity2013 网络程序设计 佛山科学技术学院电子与信息工程学院 NetworkProgramming NetworkProgramming SoftwareEngineering 教材及参考书 教材王一飞等 Java网络程序设计 2010 参考书 Java网络程序设计 附光盘原版引进中国台湾版权 NetworkProgramming SoftwareEngineering 考试成绩 平时成绩 30 考勤 作业 期末考试 70 NetworkProgramming SoftwareEngineering 授课教师 授课教师 胡春萍 联系方式 QQ 15761480电话NetworkProgramming SoftwareEngineering 网络程序设计 课程教学与实践的目标 介绍了网络编程的基本概念 基本知识和编程技术 主要内容包括TCP IP网络基础知识 基于Socket基础 流式Socket编程 数据报socket编程 多进程 多线程网络服务编写通过课程教学 使学生掌握了解如何利用常用网络协议进行网络程序设计 以加深学生对网络原理的理解 并提高学生的程序设计能力和网络应用能力 NetworkProgramming SoftwareEngineering 课程主要内容 第1章Java网络程序设计基础第2章Internet寻址第3章URL通信第4章套接字第5章数据报套接字第6章多线程第7章非阻塞Socket通信第8章对象序列化第9章套接字安全第10章实例 NetworkProgramming SoftwareEngineering 第1章Java网络程序设计基础 1 1网络基础知识1 2网络程序设计基础1 3Java与网络通信 NetworkProgramming SoftwareEngineering 1 1网络基础知识 计算机网络概念网络中每台机器称为节点 node 网络中的每个主机都有地址 网络中的主机之间通过网络协议进行交流 网络协议网内主机之间通信时必须遵守的规则和约定 网络协议是分层的 不同层具有各自不同的协议 网络通信三要素进行通信的计算机的地址 IP地址进行通信的计算机的规则 TCP协议 UDP协议等通信应用程序所在通信端口 NetworkProgramming SoftwareEngineering 1 1 1TCP IP参考模型与OSI比较 TCP IP参考模型实际的工业标准OSI比较 国际化标准模型 NetworkProgramming SoftwareEngineering 1 1 2TCP IP参考模型及协议 NetworkProgramming SoftwareEngineering 1 1 2TCP IP参考模型及协议 NetworkProgramming 网络接口层为网络互联层提供访问接口 使其能够传递IP数据包 网际层 IP协议 是整个参考模型的核心 功能是把IP数据包发送到目标主机 具备连接异构网的功能 采用IP InternetProtocol 协议 规定数据包的格式 及为数据包寻找路由的流程 传输层 TCP和UDP协议 功能是使源主机和目标主机上的进程可以进行会话 TCP TransmissionControlProtocol 协议 传输控制协议 是一种面向连接的 可靠的协议 应用层的大多数协议都建立在TCP协议的基础上 UDP UserDatagramProtocol 协议 用户数据报协议 是一种无连接的 不可靠的协议 主要适用于不需要对报文进行排序和流量控制的场合 SoftwareEngineering 1 1 2TCP IP参考模型及协议 应用层 基于TCP协议的应用层协议 HTTP HyperTextTransferProtocol 协议 超文本传输协议FTP FilesTransferProtocol 协议 文件传输协议POP3 PostOfficeProtocol 3 协议 邮局协议SMTP SimpleMailTransferProtocol 协议IMAP4 InternetMessageAccessProtocol 4 协议 消息访问协议 允许用户访问和操纵远程程序器上的邮件和邮件文件夹 应用层 基于UDP协议的应用层协议 SNMP SimpleNetworkManagementProtocol 协议 简单网络管理协议 为管理本地和远程的网络设备提供标准化途径 DNS DomainNameSystem 协议 域名系统协议 把主机的域名转换成相应的IP地址 NetworkProgramming SoftwareEngineering 1 1 3TCP UDP协议 NetworkProgramming 传输控制协议TCP传输控制协议 TransmissionControlProtocol TCP 是一种面向连接的 可靠的 基于字节流的运输层通信协议 传输控制协议不管实际消息边界是否存在 TCP提供全双工服务 即数据可在同一时间双向流动 在两个应用程序彼此连接之后 它们都可以发送和接收数据 TCP连接可以从应用程序A向B发送数据 而在同一时间还可以从B向A发送数据 SoftwareEngineering 1 1 3TCP UDP协议 NetworkProgramming 用户数据报协议UDP用户数据报协议 UserDatagramProtoco UDP 是一个简单的面向数据报的传输层 transportlayer 协议 协议以消息为单位在网上传送数据 在发送端 消息一条一条地发送 在接收端 也只能一条一条地接收 每一条消息是独立的 消息之间存在着边界 UDP在传送数据之前不需要先建立连接 对方的传输层在收到UDP报文后 不需要给出任何确认 虽然UDP不提供可靠交付 但在某些情况下UDP是一种最有效的工作方式 SoftwareEngineering 1 1 4IP地址与域名 IP地址就是标识计算机或网络设备的网络地址 在计算机内部它由四个字节的32位的二进制数组成 为了方便 在外部使用时采用以小数点 分隔的四组十进制数表示 比如202 196 176 16等 所以IP地址的每一组数字都不能超过255 每一台计算机的IP地址是唯一的 ipv4 ipv46 由于IP地址含义不明确且不太方便记忆 在实际应用中大多使用主机名 有的也称域名 如就比较明确 一看该网址就知道它是中央电视台的网址 主机名是和IP地址是一一对应的 通过DNS 域名服务器 解析可以由主机名获得计算机或网络设备的IP地址 因为对计算机或网络设备而言只有IP地址才是有效的标识符 SoftwareEngineering 1 1 5端口号 一台机器只通过一条链路连接到网络上 但一台机器中往往有很多应用程序需要进行网络通信 如何区分呢 这就要靠网络端口号 port 了 端口号是一个标记机器的逻辑通信信道的正整数 端口号不是物理实体 端口是一种抽象的软件结构 包括一些数据结构和I O缓冲区 应用程序通过系统调用与某端口建立连接后 传输层传给该端口的数据都被相应的进程 应用程序 所接收 相应进程发给传输层的数据都通过该端口输出 SoftwareEngineering 1 1 5端口号 端口用一个整数型标识符来表示 即端口号 端口号跟协议相关 TCP IP传输层的两个协议TCP和UDP是完全独立的两个软件模块 因此各自的端口号也相互独立 也就是说 基于TCP和UDP协议的不同的网络应用程序 它们可以拥有相同的端口号 端口使用一个16位的数字来表示 它的范围是 0 65535 1024以下的端口号保留给预定义的服务 例如 http使用80端口 我们在编写网络应用程序时 要为程序指定1024以上的端口号 SoftwareEngineering 表1 1一些典型的应用层协议分配到的保留端口 其余的端口号 1024 65535 称为自由端口号 采用本地分配 又称为动态分配的方法 SoftwareEngineering 总之 TCP或UDP端口的分配规则是 端口0 不使用 或者作为特殊的使用 端口1 255 保留给特定的服务 TCP和UDP均规定 小于256的端口号才能分配给网上著名的服务 端口256 1023 保留给其他的服务 如路由 端口1024 4999 可以用作任意客户的端口 端口5000 65535 可以用作用户的服务器端口 SoftwareEngineering 1 2网络程序设计基础 1 2 1客户机 服务器模型模型Internet和大多数现代网络应用程序都采用客户 服务器模型 这种分布式架构是几乎所有用户同Internet交互的基础 客户端向服务器发出请求 服务器通过执行操作 如将信息发回客户端 做出响应 这就是客户 服务器模型的重要特征 客户 服务器模式描述的是进程之间的服务和被服务的关系 在这种模式下 大多数网络应用系统由两部分组成 客户 Client 和服务器 Server 客户是主叫方 服务器是被叫方 客户与服务器的通信关系一旦建立 通信就可以是双向的 客户和服务器都可以发送和接收信息 SoftwareEngineering 1 2 1客户机 服务器模型模型 1 客户程序与客户机2 服务器程序与服务器 SoftwareEngineering 1 3 2套接字 SOCKET 套接字应用程序编程接口是网络应用程序通过网络协议栈进行通信时所使用的接口 即应用程序与协议栈软件之间的接口 简称套接字编程接口 SocketAPI 它定义了应用程序与协议栈软件进行交互时可以使用的一组操作 决定了应用程序使用协议栈的方式 应用程序所能实现的功能 以及开发具有这些功能的程序的难度 SoftwareEngineering 应用进程 套接口 网络协议栈及操作系统的关系 SoftwareEngineering 1 3Java语言与网络通信 Java语言是Internet上最热门的编程语言 java语言是Internet上的世界语 在Java语言中 与网络编程有关的基本API位于包中 提供网络功能的类和接口主要分为三种 套接字Socket 直接在程序中实现网络通讯 WEB的编程接口 URL UniformResourceLocators 统一资源定位器 属于网络应用中的高级应用 通过指定的URL对象 能够很容易地确定网络资源的位置 使用这种方式 Java程序可以直接读取或传送数据到网络中 其对Socket编程进行了封装 SoftwareEngineering 包中的主要的类 面向IP层的类 InetAddress面向应用层的类 URL URLConnection面向网络层的类 TCP协议相关类 Socket ServerSocketUDP协议相关类 DatagramPacket DatagramSocket MulticastSocket可能产生的例外 BindException Con
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025银行挂职面试题目及答案
- 基于PLC的智能交通信号控制设计
- 小学语文三年级教学课程标准细则
- 成都七年级数学期末线段与角专题练习
- 消防安全隐患排查标准及整改报告
- 中学语文月考试题及详细解析
- 制造业数字化质量监控体系
- 物流运输合同模板及合作注意事项
- 音乐学习现状调研及数据分析报告
- 高钙血症透析护理查房
- 《学困生的转化》主题课件
- 手印鉴定书模板
- DB11T 065-2022 电气防火检测技术规范
- 人教版八年级历史上册第一次月考试题(附答案)第一单元
- 基本不等式课件-高三数学一轮复习
- DL∕T 2568-2022 电力行业数字化审计平台功能构件与技术要求
- 部编人教版《道德与法治》六年级上册第9课《知法守法 依法维权》精美课件(第1课时)
- 消防喷淋系统设计合同范本
- DB32-T 4757-2024 连栋塑料薄膜温室建造技术规范
- 2024年四川省广安市中考数学试题(含答案逐题解析)
- 山西省太原三十七中2023-2024学年九年级上学期月考物理试卷(10月份)
评论
0/150
提交评论