Java程序设计教程(第2版) 课件 第11章Java网络编程技术_第1页
Java程序设计教程(第2版) 课件 第11章Java网络编程技术_第2页
Java程序设计教程(第2版) 课件 第11章Java网络编程技术_第3页
Java程序设计教程(第2版) 课件 第11章Java网络编程技术_第4页
Java程序设计教程(第2版) 课件 第11章Java网络编程技术_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

第11周

Java网络编程技术11计算机网络发展2TCPSocket编程4让我们一起来编程学习提纲3UDPSocket编程21.计算机网络技术网络可以使不同物理位置上的计算机(智能设备)达到资源共享和通信的目的。互联网始于1969年美国的阿帕网。以TCP/IP的启用为标志,互联网横空出世。目前,具有高速率、低时延和大连接的第五代通讯技术(5G)正在普及。互联网已经过了PC互联网、移动互联网、物联网等发展阶段。1.1计算机网络发展31.计算机网络技术协议(Protocol)是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。TCP/IP是指传输控制协议TCP和网间协议IP。TCP/IP是Internet近百个协议中的主要协议,定义了计算机和外设进行通信所使用的规则,是事实上的工业标准。IP地址:IPV4(32bits)用来标识计算机、交换机、路由器等网络设备的网络地址。由小数点分成4个部分,每部分取值:0-255。为解决IP资源耗尽的问题,提出IPV6(128bits)。1.2常见概念41.计算机网络技术域名(Domain):为方便记忆和使用,用户采用域名来访问网络。IP地址和域名是一一对应的。域名和IP地址之间的转换由域名服务器DNS(DomainNameServer)来完成。端口号(Port):逻辑端口一般用来在一台计算机设备上标识不同的网络服务程序。逻辑端口号采用16位二进制编码(0-65535)。0-1023为系统保留端口,如FTP文件传输端口21、TELNET远程登录端口23、HTTP浏览网页服务端口80等。用户开发的网络应用程序应该使用1024以后的端口号,要避免端口号冲突,如QQ默认端口8000、MySQL数据库默认端口3306等。1.2常见概念51.计算机网络技术URI(UniformResourceIdentifier):统一资源标识符,用来唯一地标识一个网络资源。URL(UniformResourceLocator):统一资源定位器,URL是URI命名机制的一个子集。URL指明如何定位这个资源,URL只能是绝对路径。1.2常见概念61.计算机网络技术传输控制协议TCP(TranferControlProtocol)是一种面向连接的可以保证数据可靠传输的协议。用户数据报协议UDP(UserDatagramProtocol)是一种面向无连接的协议,提供不可靠信息传输服务。在正式通信前不必与对方先建立连接,不管对方状态就直接发送。1.2常见概念71计算机网络发展2TCPSocket编程4让我们一起来编程学习提纲3UDPSocket编程82.TCPSocket编程Java语言对TCP协议、UDP协议提供了良好的封装和支持。Java网络编程相关的类、接口和异常集中存放在包中。在Java中,InetAddress用于表示一个互联网协议地址(封装IP地址和域名)。与网络编程相关的其他类可能需要用到InetAddress类的实例。2.1Java网络编程92.TCPSocket编程

在Java中用.URL类来表示URL。URL类的常见构造方法如下:publicURL(Stringspec)publicURL(URLcontext,Stringspec);publicURL(Stringprotocol,Stringhost,Stringfile)一个URL对象生成后,其属性是不能被改变的,我们只能通过URL类提供的getXXXX()来获取这些属性。在Java编程中,可以使用URI.toURL()和URL.toURI()方法来完成URL和URI类型的对象互相转换。2.1Java网络编程102.TCPSocket编程

Java应用程序通常通过Socket(套接字)向网络发出请求或响应网络请求。ServerSocket类实现服务端Socket,Socket类实现客户端Socket。建立连接后,服务端和客户端都会产生一个Socket实例。Socket之间是平等的、双向连通的。服务端或客户端可以用OutputStream的方式向Socket中写入数据,另外一端就可以从Socket中以InputStream的方式读取数据,从而实现通信。

2.1Java网络编程112.TCPSocket编程【编程要求】单线程服务端Socket示例程序(SingleServerSocket.java)功能描述:本程序演示服务器端Socket编程,循环接收客户端程序的连接:如果有客户端连接服务器,就返回一个Socket,然后给该客户端发送一个“同志们好!”,并接收客户端发过来的“首长好!”。如果没有客户端连接,就阻塞等待。2.2传统单线程Socket编程122.TCPSocket编程【编程要求】单线程客户端Socket示例程序(SingleSocket.java)功能描述:本程序演示客户端Socket编程:连接到:8080的服务端程序,并接收服务端发过来的字符串“同志们好”,并给服务端程序发送一个字符串“首长好”,然后退出。2.2传统单线程Socket编程132.TCPSocket编程

【编程要求】基于多线程的服务端示例程序(MultiThreadServer.java)功能描述:本程序在9.3.1节的基础上进行了改进,对于每个客户端的连接请求,服务器启动一个单独的线程专门和该客户端通讯。收到客户端发送过来的字符串后显示,然后回复客户端收到了该字符串,直到客户端输入Exit。

2.3基于多线程的Socket编程142.TCPSocket编程

【编程要求】基于多线程的客户端程序应用示例(MultiThreadClient.java)功能描述:本程序将键盘输入的字符串发向服务器端,并接收服务器返回的信息,直到输入Exit为止。

2.3基于多线程的Socket编程152.TCPSocket编程

【编程要求】服务器给客户端发送多种信息示例程序(ServerSOF.java)功能描述:本程序演示服务器给客户端发送String、接收客户端String、给客户端发送Object(HashSet)、给客户端发送文件四种应用。

2.4服务器和客户端通信162.TCPSocket编程

客户端接收服务器多种信息示例程序(ServerSOF.java)功能描述:本程序演示客户端接收服务器String、给服务端发送String、接收服务端发送过来Object(HashSet)、接收服务器发送过来的文件四种应用。

2.4服务器和客户端通信171计算机网络发展2TCPSocket编程4让我们一起来编程学习提纲3UDPSocket编程183.UDPSocket编程Java在包中提供了两个类DatagramSocket和DatagramPacket用来支持数据报通信的编程。DatagramSocket用于在Java程序之间建立传送数据报的通信连接,DatagramSocket表示用来发送和接收数据报的Socket。数据报套接字是包投递服务的发送点或接收点。如果是要发送的数据报包,则DatagramPacket对象中必须包含待发送的数据以及数据包要到达的IP地址和端口号。如果是在接收UPD数据报包,则需要创建一个DatagramPacket对象,以便存放接收到的数据及其相关信息。3.1相关类和接口193.UDPSocket编程【编程要求】UDP发送端的程序实现(UDPChatSend.java)功能描述:本程序循环从键盘上输入字符串并发送到本机的3000端口上,直到输入exit为止。3.2UDPSocket编程203.UDP

温馨提示

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

评论

0/150

提交评论