文档介绍:张蕾
******@ujn.
网络编程
1
主要内容
概述
InetAddress
URL与URLConnection
TCP通信
UDP通信
组播通信
基于SSL的网络通信
2
import .*;
主要类及其作用
InetAddress:表示IP地址
URL、URLConnection:统一资源定位及其连接
Socket、ServerSocket:TCP通信
DatagramPacket、DatagramSocket:UDP通信
DatagramPacket、MulticastSocket:组播通信
套接字
套接字是进程间进行通信的一种抽象概念
一个套接字包括IP地址、端口号两部分
IP地址用于指定主机;端口号用于指定进程
基于TCP和UDP的通信都使用套接字
概述
3
InetAddress描述IP地址信息,包括:域名/IP地址。例如:java./
两个子类
Inet4Address
Inet6Address
Address对象的方法
InetAddress address =(String); //参数String可以是域名或IP地址
InetAddress address =(); //获得本地主机的IP地址对象
注:使用时需捕获UnknownHostException
InetAddress
4
其它常用方法
String getHostName(); //获取域名
String getHostAddress(); //获取IP地址
boolean isMulticastAddress(); //是否多播地址
boolean isReachable(int timeout); //地址是否可达
例子:获取主机的IP地址信息
InetAddress
5
URL标识计算机上的资源,它充当一个指针,指向Web页、二进制文件以及其它的信息对象
构造方法
URL url = new URL(“protocol://host:port/path/file”);
例:URL url = new URL(“”);
URL
6
使用方法
在小应用程序中加载网页
URL url = new URL(“”);
AppletContext ac = getAppletContext();
(url);
获得URL的输入流
URL url = new URL(“……”);
InputStream in = ();
例子:加载网页、显示文件内容
URL
7
有关概念
基于TCP(传输控制协议)的信息传输,它提供面向连接的可靠通信
基于TCP通信的基本模式
服务器端创建ServerSocket套接字对象,并监听客户端的请求,通过获取与客户端相连接的套接字对象的输入/输出流完成通信
客户端创建Socket套接字对象,并与服务器端建立连接,使用套接字对象的输入/输出流完成通信
输入/输出流类似于一个管道,对服务器端和客户端来说,两者正好相反
TCP通信
8
服务器端
使用ServerSocket类建立一个等待接收客户端请求的套接字对象
构造方法
ServerSocket(int port);
//port是端口号,要求与客户端呼叫的端口号相同。使用时可能会发生IOException异常
例如:ServerSocket server =
new ServerSocket(6789);
TCP通信
9
其它常用方法
InetAddress Address(); //本地地址
int getLocalPort(); //监听的端口
Socket accept();
//该方法用于获得一个与客户端Socket相连接的 Socket对象,在服务器端使用这个Socket对象就可以读/写线路上的信息。注意两端的方向正好相反。可能发生IOException异常
void close(); //可能发生IOException
boolean isClosed();
void setSoTimeout(int);
TCP通信
10