第9章 网络编程1课件.ppt
文本预览下载声明
第9章 网络编程;9.1 网络通信概述;
最高一级的网络通信:从网络上下载Applet。客户端浏览器通过HTML文件中的applet标记来识别Applet,并解析Applet的属性,通过网络获取Applet得字节码文件。(由浏览器提供)
声音文件和图象文件的获取是次一级的通信。通过类URL的对象指明文件所在位置,并从网络上下载声音和图象文件。(由Java开发环境提供)
最低一级的通信是利用包中提供的类直接在程序中实现网络通信。(由Java语言开发包提供);2、网络协议;包中的主要的类和可能产生的例外包括:
面向IP层的类:InetAddress
面向应用层的类:URL、URLConnection
面向网络层的类:
TCP协议相关类:Socket、ServerSocket
UDP协议相关类:DatagramPacket、DatagramSocket、MulticastSocket
可能产生的例外:
BindException、ConnectException、MalformedURLException、NoRouteToHostException、ProtocolException、SocketException、UnknownHostException、UnknownServiceException;4、传输层协议TCP与UDP;5、主机与端口;6、Java与网络;9.2 URL通信;9.2.1 URL的组成;9.2.2 URL的创建;3)URL(String protocol, String host, int port, String file)
4)URL(String protocol, String host, String file)使用缺省80端口
构造函数抛出MalformedURLException;9.2.3 URL类方法;例9-1 URL的使用;9.2.4.利用URL获取网络资源;例9-2使用URL类获取远程服务器端的数据;public static void urlSite(String urlname){
String s;
URL url=null;
InputStream urlstream=null;
try{ url=new URL(urlname); }
catch(Exception e){
System.out.println(URL名字错误); }
try{ urlstream=url.openStream();
DataInputStream dat=new DataInputStream(urlstream);
while((s=dat.readLine())!=null)
System.out.println(s); }
catch(IOException e){System.out.println(URL文件打开错误); }
}
}
;键入java UrlSite file:///c:/UrlSite.java的运行结果;9.2.5 URLConnection类;2、建立输入/输出数据流;URLConnection(续);例9-3使用URLConnection类获取远程服务器端的数据;;运行结果; 类InetAddress可以用于标识网络上的硬件资源,它提供了一系列方法以描述、获取及使用网络资源。InetAddress类没有构造函数,因此不能用new来构造一个InetAddress实例。通常是用它提供的静态方法来获取:
1)public static InetAddress getByName(String?host)
host可以是一个机器名,也可以是一个形如“%d.%d.%d.%d”的IP地址或一个DSN域名。
public static InetAddress getLocalHost()
这二个方法通常会产生UnknownHostException例外,应在程序中捕获处理。
InetAddress类的主要方法:
public byte[] getAddress():获得本对象的IP地址(存放在字节数组中)。public String getHostAddress():获得本对象的IP地址“%d.%d.%d.%d”。public String getHostName():获得本对象的机器名。; Java如何根据域名自动到DNS(域名服务)上查找IP地址(与DNS服务器的连接减至一行):
import .*;
public class getIP{
public static void main(String args[]) {
显示全部