一、教材内容学习总结
URL类
1、URL 类是 java.net 包中的一个重要的类,使用 URL 创建对象的应用程序称为客户端程序。
2、一个 URL 对象通常包含最基本的三部分信息:协议、地址和资源
3、URL 对象的构造方法:
public URL (String spec) throws MalformedURLException
public URL (String protocol, String host, String file) throws MalformedURLException
4、URL 对象调用InputStream openStream()
方法可以返回一个输入流,该输入流指向 URL 对象所包含的资源。
InetAddress 类
5、java.net 包中的 InetAddress 类对象含有一个 Internet 主机地址的域名和 IP 地址。
6、可以使用InetAddress 类的静态方法 getByName(String s) 将一个域名或 IP 地址传递给该方法的参数 S,获得一个 InetAddress 对象,该对象含有主机地址的域名和IP地址。
7、InetAddress类中的两个实例方法:
public String getHostName()
:获取InetAddress对象所含的域名
public String getHostAddress()
:获取InetAddress对象所含的IP地址
8、可以使用InetAddress 类的静态方法 getLocalHost()
获得一个InetAddress对象
9、网络通信使用 IP 地址标识 Internet 上的计算机,使用端口号标识服务器上的进程(程序)。
10、当两个程序需要通信时,他们可以通过使用 Socket 类建立套接字对象并链接在一起
11、Socket 的构造方法是 Socket(String host, int port) ,host 是服务器的 IP 地址,port 是一个端口号,可能发生 IOException 异常。
12、当套接字对象clientSocket建立后,clientSocket可以使用方法getInputStream()
获得一个输入流,可以使用方法getOutputStream()
获得一个输出流。
13、ServerSocket 的构造方法是 ServerSocket(int port),port 是一个端口号。port必须和客户呼叫的端口号相同。
14、ServerSocket调用accept()
方法会返回一个和客户端Socket对象相连接的Socket对象sc。
15、accept方法会阻塞线程的执行,直到接收到用户的呼叫。
16、ServerSocket 对象可以调用 setSoTimeout(int timeout) 方法设置超时值(ms),timeout是一个正值,当ServerSocket 对象调用accept方法 阻塞时间超过timeout,触发 SocketTimeoutException。
17、可以使用Socket类不带参数的构造方法Socket()创建一个套接字对象,该对象需调用public void connect(SocketAddress endpoint) throws IOException
18、为了使用connect方法,可以使用SocketAddress的子类InetSocketAddress创建一个对象,InetSocketAddress的构造方法是:public InetSocketAddress(InetAddress addr, int port)
19、基于UDP通信的基本模式是:
- 将数据打包,称为数据包,然后将数据包发往目的地;
- 接收发来的数据包,然后查看数据包中的内容。
20、用DatagramPacket类将数据打包,即用DatagramPacket类创建一个对象,称为数据包。
21、用DatagramPacket的以下两个构造方法创建待发送的数据包:
DatagramPacket(byte data[],int length,InetAddtress address,int port)
DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
22、接收数据包:
(1)用 DatagramSocket 的另一个构造方法DatagramSocket(int port)
创建一个对象,其中的参数必须和待接收的数据包的端口号相同。
(2)对象 mail_in 使用方法receive(DatagramPacket pack)
接受数据包。
(3)用 DatagramPack 类的另外一个构造方法:DatagramPack(byte data[],int length)
创建一个数据包,用于接收数据包
代码托管
截图: