JAVA学习--第15讲网络连接.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
江苏大学软件工程课程组 江苏大学软件工程课程组 第15章 网络连接 网络基础 建立网络连接 了解 TCP/IP 协议 IP地址 使用 ServerSocket 和 Socket 类实现 TCP/IP 客户端和服务端 网络基础的概念 什么是计算机网络 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源 计算机网络的主要功能 资源共享 信息传输与集中处理 均衡负荷与分布处理 综合信息服务(WWW/综合业务数字网络 ISDN) 网络通信协议及接口 什么是网络通信协议 计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。 网络通信接口 为了使两个结点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间能进行信息交换。接口部分: 硬件装置:实现结点之间的信息传送 软件装置:规定双方进行通信的约定协议 通信协议分层思想 为什么要分层 由于结点之间的联系很复杂,在制定协议时,把复杂成份分解成一些简单的成份,再将它们复合起来。最常用的复合方式是层次方式,即同层间可以通信、上一层可以调用下一层,而与再下一层不发生关系。各层互不影响,利用系统的开发与发展。 通信协议的分层规定 把用户应用程序作为最高层,把物理通信线路作为最低层,将其间的协议处理分为若干层,规定每层的任务,也规定每层的接口标准 参考模型 数据封装 数据拆封 IP协议 IP(Internet Protocol)协议是网际层的主要协议,支持网间互联的数据报通信。它提供主要功能有: 无连接数据报传送 数据报路由选择和差错控制 TCP协议和UDP协议 TCP(transmission control Protocol) 是专门设计用于在不可靠的因特网提供可靠的、端到端的字节流通信协议。它是一种面向连接的协议。TCP连接是字节流而非报文流 UDP(user data protocol) UDP向应用程序提供了一种发送封装的原始IP数据报、并且发送时无需建立连接。是一种不可靠连接 socket 两个Java应用程序通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为Socket。 Socket通常用来实现client-server连接 包中定义了两个类Socket和ServerSocket分别用来实现双向连接的client和server端 建立连接时所需的寻址信息为远程计算机的IP地址和端口号(Port number) TCP端口 UDP端口分开的 每一个65536端口 建立连接 建立连接: 建立网络连接类似于打电话。 一端必须拨号另一端,而另一端必须正在侦听。 网络(续) Java 网络模型: ServerSocket 和 Socket 类 创建最小 TCP/IP 服务器的代码段: ServerSocket s = null; s = new ServerSocket(5432); //在 5432 端口上注册您的服务 while (true) // 永远运行侦听/接受循环 { Socket s1 = s.accept(); // 在此等待并侦听连接 OutputStream s1out = s1.getOutputStream(); // 获取与套接字关联的输出流 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s1out)); bw.write(“Hello Net World!\n”); // 发送字符串! bw.close(); // 结束连接,但是不结束服务器套接字 s1.close(); } ServerSocket 和 Socket 类(续) 创建最小TCP/IP 客户端的代码段: // 在端口 5432 打开到服务器的连接 // 在此使用的本地主机 Socket s1 = new Socket(, 5432); // 从套接字获取输入流 InputStream is = s1.getInputStream(); //用“data”输入流装饰它 DataInputStream dis = new DataInputStream(is); // 读取该输入并将它打印到屏幕 System.out.println(dis.readUTF()); // 完成后只关闭流和连接 dis.close(); s1.close(); 江苏大学软件工程课程组 江苏大学软件工程课程组 江苏大学计算机学院 Version 2.0 内容 Server. 3000 C 18000 C 18002 端口号 服务器 SeverSo

文档评论(0)

00625 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档