第12章 Java网络编程
时间:2025-07-10
时间:2025-07-10
Java课件 教程 java教程 Java语音程序设计
第12章 Java网络编程 章 网络编程
Java课件 教程 java教程 Java语音程序设计
学习导读用Java开发网络软件非常方便且功能强大,Java 用 于 开 发 网 络 程 序 的 API 均 位 于 包 http:// 和 http://中。 在本章中我们将首先介绍Java网络编程中扮演重 要角色的InetAddress类,再介绍套接字(Socket) 的概念,同时以实例说明如何使用Network API 操纵套接字。 最后简单介绍在非连接的UDP协议下如何进行 网络通讯。
Java课件 教程 java教程 Java语音程序设计
课程结构InetAddress类 面对连接的流式套接字 面向非连接的数据报
Java课件 教程 java教程 Java语音程序设计
12.1 InetAddress简介 简介InetAddress描述了 位或 描述了32位或 地址, 描述了 位或128位IP地址,要完成 位 地址 这个功能, 类主要依靠Inet4Address 这个功能,InetAddress类主要依靠 类主要依靠 两个支持类。 和 Inet6Address两个支持类。 两个支持类 这三个类是继承关系, 是父类, 这三个类是继承关系,InetAddrress是父类, 是父类 Inet4Address 和 Inet6Address是子类。 是子类。 是子类
Java课件 教程 java教程 Java语音程序设计
12.1 InetAddress简介 简介以通过下面的5个静态方法来创建一个 以通过下面的 个静态方法来创建一个 InetAddress对象或 对象或InetAddress数组 : 对象或 数组(1)getAllByName(String host)方法 ) ( ) (2)getByAddress(byte [ ] addr)方法 ) ( ) (3)getByAddress(String host, byte [ ] addr)方法 ) ( ) (4)getByName(String host)方法 ) ( ) ()方法 (5)getLocalHost()方法 ) ()
上面讲到的方法均提到返回一个或多个 InetAddress对象的引用 对象的引用
Java课件 教程 java教程 Java语音程序设计
12.1 InetAddress简介 简介InetAddress和它的子类型对象处理主机名到主 和它的子类型对象处理主机名到主 机IPv4或IPv6地址的转换 或 地址的转换例:InetAddress ia = InetAddress.getByName ("http://"); ) 见例12。1 。
Java课件 教程 java教程 Java语音程序设计
12.2 面向连接的流式套接字1 什么是套接字 Socket可以看成在两个程序进行通信连接中的 可以看成在两个程序进行通信连接中的 一个端点,一个程序将一段信息写入Socket中, 一个端点,一个程序将一段信息写入 中 将这段信息发送给另外一个Socket中 该Socket将这段信息发送给另外一个 将这段信息发送给另外一个 中
Java课件 教程 java教程 Java语音程序设计
12.2 面向连接的流式套接字在两个网络应用程序之间发送和接收信息时需 要建立一个可靠的连接,流套接字依靠TCP协议 要建立一个可靠的连接,流套接字依靠 协议 来保证信息正确到达目的地。 来保证信息正确到达目的地。 程序中,包括了相关联的三个类 在C/S程序中 包括了相关联的三个类: 程序中 包括了相关联的三个类:InetAddress Socket ServerSocket
Java课件 教程 java教程 Java语音程序设计
12.2 面向连接的流式套接字2 ServerSocket类 类 服务器程序套接字 构造函数: 构造函数:ServerSocket(int port); ( );port参数传递端口号 ,如 ); 参数传递
端口号 果在这时出现错误将抛出IOException异常对象 果在这时出现错误将抛出 异常对象
接下来服务程序进入无限循环之中。 接下来服务程序进入无限循环之中。无限循环从调用ServerSocket的accept()方法开始, 的 ()方法开始 无限循环从调用 ()方法开始, 在调用开始后accept()方法将导致调用线程阻塞直到 ()方法将导致调用线程阻塞直到 在调用开始后 () 连接建立。在建立连接后accept()返回一个最近创建 连接建立。在建立连接后 ()返回一个最近创建 () 对象, 对象绑定了客户程序的IP地址 的Socket对象,该Socket对象绑定了客户程序的 地址 对象 对象绑定了客户程序的 或端口号。 或端口号。
Java课件 教程 java教程 Java语音程序设计
12.2 面向连接的流式套接字该程序将创建一个ServerSocket对象来监听 例:该程序将创建一个 该程序将创建一个 对象来监听 端口10000的连接请求,如果成功,服务程序将 的连接请求, 端口 的连接请求 如果成功, 等待连接输入,开始一个线程处理连接, 等待连接输入,开始一个线程处理连接,并响应 来自客户程序的命令。 来自客户程序的命令。 见例12。2 。
Java课件 教程 java教程 Java语音程序设计
12.2 面向连接的流式套接字3 Socket类 类 当客户程序需要与服务器程序通信时, 当客户程序需要与服务器程序通信时,客户程 序在客户机创建一个socket对象 序在客户机创建一个 对象 构造函数: 构造函数:Socket(InetAddress addr, int port); ( ) Socket(String host, int port); ( );
可能通过调用Socket的 getInputStream()方 的 ()方 可能通过调用 () 法从服务程序获得输入流读传送来的信息 可能通过调用Socket的 getOutputStream()方 ()方 可能通过调用 的 () 法获得输出流来发送消息
Java课件 教程 java教程 Java语音程序设计
12.2 面向连接的流式套接字对象, 例:这个程序将创建一个Socket对象,Socket将 这个程序将创建一个 对象 将 访问运行在指定主机端口10000上的服务程序, 上的服务程序, 访问运行在指定主机端口 上的服务程序 如果访问成功, 如果访问成功,客户程序将给服务程序发送一系 列命令并打 …… 此处隐藏:2252字,全部文档内容请下载后查看。喜欢就下载吧 ……