




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java网络编程 ID SCSJ002 J2SE 2020 1 27 Java网络编程 2 Java网络编程 网络基础Internet的形成和发展网络通信协议网络通信结构TCP IPSocketJavaSocket编程利用多线程实现双向的Socket通信UDP与UDP数据广播 2020 1 27 Java网络编程 3 网络基础知识 网络 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模宏大 功能强大的网络系统 从而使众多的计算机可以方便地互相传递信息 共享硬件 软件 数据信息等资源 计算机的联网可以实现 使用远程资源共享信息 程序和数据分布处理 2020 1 27 Java网络编程 4 计算机网络分类 按照网络规模和范围可以简单划分为 局域网 LAN LocalAreaNetwork 都市网 MAN MetropolisAreaNetwork 广域网 WAN WideAreaNetwork 按照网络拓扑结构可以分为 星型网络 总线网络 环线网络 树型网络 星型环线网络等按照传输介质划分 双绞线 同轴电缆 光导纤维 视线介质等 2020 1 27 Java网络编程 5 网络的几种工作模式 专用服务器结构 Server Based 又称为 工作站 文件服务器 结构 由若干台微机工作站与一台或多台文件服务器通过通信线路连接起来组成工作站存取服务器文件 共享存储设备 客户机 服务器模式 client server 其中一台或几台较大的计算机集中进行共享数据库的管理和存取 称为服务器 而将其它的应用处理工作分散到网络中其它微机上去做 构成分布式的处理系统 对等式网络 Peer to Peer 在对等式网络结构中 没有专用服务器每一个工作站既可以起客户机作用也可以起服务器作用 2020 1 27 Java网络编程 6 Internet基础 Internet的形成和发展 第一阶段 1969 1983 1969年 美国ARPANET诞生 用于将几个军事及研究用的主机联系起来 1983年 TCP IP应用到ARPANET中 使得internet得以迅速发展 以ARPANET为中心 组成新的互联网 internet 称为Internet 第二阶段 1983 1994 用于教育和科研领域的NSFNET NationalScienceFoundationNet 形成第三阶段 1994 Now Internet的商业化运作 2020 1 27 Java网络编程 7 网络通信协议 接口 网络通信协议计算机网络中实现通信必须有一些约定即通信协议 对速率 传输代码 代码结构 传输控制步骤 出错控制等制定标准 网络通信结构为了使两个结点之间能进行对话 必须在它们之间建立通信工具 即接口 使彼此之间能进行信息交换 接口包括两部分 硬件装置 实现结点之间的信息传送软件装置 规定双方进行通信的约定协议 2020 1 27 Java网络编程 8 OSI的分层思想 OSI 开放系统互连 OpenSystemInterconnection 采用分层的结构化技术 分层的理由 将网络简化模块化的设计网络OSI参考模型 OSI RM OpenSystemInterconnection ReferenceModel 共分为7层 最高层为用户层 最底层为物理层 2020 1 27 Java网络编程 9 OSI的七层模型 2020 1 27 Java网络编程 10 TCP协议TransmissionControlProtocol TCP协议为一种可靠的端对端协议 重发一切没有收到的数据 进行数据内容准确性检查并保证分组的正确顺序 TCP协议位于OSI参考模型的传输层 TCP 2020 1 27 Java网络编程 11 IP协议 IP协议是网络上的计算机进行连接的基础IP协议是不可靠的 无论传送正确与否都不进行检验 不回送确认 不保证分组的正确顺序IP协议位于OSI参考模型的网络层 IP 2020 1 27 Java网络编程 12 TCP IP协议 TCP IP 是Internet上不同系统之间互联的一组协议 它为分散和不同类型的硬件提供了一个通用的编程接口 TCP IP协议使Internet尽可能成为一个分散 无序的网络 TCP IP通常被看成一个4层模型 应用层 传输层 网络层以及数据链路层 物理层 2020 1 27 Java网络编程 13 OSI和TCP IP的分层对应 OSI参考模型 TCP IP参考模型 2020 1 27 Java网络编程 14 数据的封装和拆封 位于TCP IP各个层的数据通常用一个公共的机制来封装 定义描述元信息和数据报的部分真实信息的报头的协议 这些元信息可以是数据源 目的地和其他的附加属性 来自于高层的协议封装在较低层的数据报中 当信息在不同的层之间传递时 都会在每一层重新构建一次 2020 1 27 Java网络编程 15 IP地址的分配 IP地址的定义为了实现Internet上不同计算机之间的通信 每台计算机都必须有一个不与其它计算机重复的地址 IP地址IP地址是数字型的 32位 32bit 由4个8位的二进制数组成 每8位之间用圆点隔开网络标识 networkid 和主机标识 hostid IP地址被分成了A B C D E五类 每个类别的网络标识和主机标识各有规则 2020 1 27 Java网络编程 16 网络IP地址的构成 1 Bits 0NNNNNNN Host Host Host 8 9 16 17 24 25 32 Range 1 126 1 10NNNNNN Network Host Host 8 9 16 17 24 25 32 Range 128 191 1 110NNNNN Network Network Host 8 9 16 17 24 25 32 Range 192 223 Bits Bits ClassA ClassB ClassC 1 1110NNNN Network Network Host 8 9 16 17 24 25 32 Range 224 239 Bits ClassD 2020 1 27 Java网络编程 17 常见TCP端口和对应服务 2020 1 27 Java网络编程 18 端口 port 计算机与外界交流的出入口是一种抽象的软件结构 包括一些数据结构和I O 基本输入 输出 缓冲区端口号可以从0到65535 通常将它分为三类 公认端口 WellKnownPorts 从0到1023 它们紧密绑定 Binding 一些服务注册端口 RegisteredPorts 从1024到49151 它们松散地绑定一些服务动态和 或私有端口 Dynamicand orPrivatePorts 从49152到65535 理论上 不应为服务分配这些端口 2020 1 27 Java网络编程 19 Java中的 ping 在命令行中 可以通过 ping host 的方法得到指定主机的IP地址通过中的InetAddress类 可以得到指定主机的IP地址如果没有指定机器 则将会返回本地主机的IP地址InetAddressia InetAddress getLocalHost InetAddressia InetAddress getByName YourComputerName 2020 1 27 Java网络编程 20 Socket 套接字 Socket 表示一个系统的IP地址和端口号的结合 TCP IP连接的一个端点用来处理两个流对象创建TCPSocket需要的四个信息 本地系统的IP本地应用程序使用的TCP端口号远程系统的IP远程应用程序相应的TCP端口号 2020 1 27 Java网络编程 21 JavaSocket编程 ServerSocket Socket两个类用于建立一个双边的通信 ServerSocket等待来自客户端的连接 而Socket连接到一个服务器端 2020 1 27 Java网络编程 22 ServerSocket类 ServerSocket类用于侦听一个客户端的Socket连接 如果没有连接 它将一直等待 ServerSocket构造器 ServerSocket intport 用指定的端口port来创建一个侦听SocketServerSocket intport intbacklog InetAddresslocalAddr 在机器存在多个IP地址的情况下 允许通过localAddr这个参数来指定侦听的IP地址 ServerSocket方法 Socketaccept close 2020 1 27 Java网络编程 23 Socket类 Socket类构造器Socket Socket InetAddressaddress intport Socket Stringhost intport protectedSocket SocketImplimpl Socket Stringhost intport InetAddresslocalAddr intlocalPort Socket方法 getInputStream getOutputStream close 2020 1 27 Java网络编程 24 Socket简单通信例子 ServerSocketserver newServerSocket 1234 Socketsk server accept BufferedReaderbr newBufferedReader newInputStreamReader sk getInputStream System out println br readLine br close server close 2020 1 27 Java网络编程 25 Socket通信例子 Socketclient null PrintStreamps null try client newSocket localhost 1234 System out println 连接成功 ps newPrintStream client getOutputStream ps println Hello client close catch IOExceptione System out println e 2020 1 27 Java网络编程 26 Socket持续通信例子 ServerSocketserver newServerSocket 1234 Socketsk server accept BufferedReaderbr newBufferedReader newInputStreamReader sk getInputStream Stringline null while line br readLine null if quit equalsIgnoreCase line break System out println OK br close server close 2020 1 27 Java网络编程 27 Socket通信例子 try Socketclient newSocket localhost 1234 System out println 连接成功 PrintStreamps newPrintStream client getOutputStream true BufferedReaderbrKey newBufferedReader newInputStreamReader System in Stringline null while line brKey readLine null ps println Hello client close catch IOExceptione System out println e 2020 1 27 Java网络编程 28 多线程实现双向的Socket通信 1 publicclassServer publicstaticvoidmain String args ServerSocketss newServerSocket 8888 while true Socketsocket ss accept 阻塞SessionThreadst newSessionThread socket st start ss close 2020 1 27 Java网络编程 29 多线程实现双向的Socket通信 2 publicclassSessionThreadextendsThread Socketsocket publicSessionThread Socketsocket this socket socket publicvoidrun InputStreamin socket getInputStream OutputStreamout socket getOutputStream PrintWriterpw newPrintWriter out true pw println 欢迎光临 BufferedReaderbr newBufferedReader newInputStreamReader in Stringline null while line br readLine null if quit equal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 系统权限管理办法xp
- 红塔证券招聘管理办法
- 纳税评估管理办法公式
- 纸箱异物控制管理办法
- 线下商超库存管理办法
- 绍兴防疫社区管理办法
- 网吧外设租用管理办法
- 网络优化维护管理办法
- 老人医护机构管理办法
- 职位序列人员管理办法
- 2023年各地中考语文卷名著《昆虫记》阅读题汇集练附答案解析
- 消防设备销售员入职培训
- 建筑消防工程学课件
- 医院老年科管理制度
- 艺术导论(公共艺术通识课)第二版全套教学课件
- 小学生中餐在校就餐申请书
- 大学物理第三版课后习题答案详解
- 高中日语学习宣讲+课件
- 成都理工大学工程技术学院毕业实习报告
- 2022年新高考II卷高考语文试卷试题深度解读及答案详解(精校版)
- 现代测试与分析技术绪论
评论
0/150
提交评论