20165316 第九周学习总结
20165316《Java程序设计》第九周学习总结
教材内容学习总结
URL类
- URL 类是 java.net 包中的一个重要的类,使用 URL 创建对象的应用程序称为客户端程序。
- 一个 URL 对象通常包含最基本的三部分信息:协议、地址和资源
- URL 对象的构造方法:
public URL (String spec) throws MalformedURLException
public URL (String protocol, String host, String file) throws MalformedURLException
- URL 对象调用 InputStream openStream() 方法可以返回一个输入流,该输入流指向 URL 对象所包含的资源。
InetAddress 类
- java.net 包中的 InetAddress 类对象含有一个 Internet 主机地址的域名和 IP 地址。
- 使用 InetAddress 类的静态方法 getByName(String s) 将一个域名或 IP 地址传递给该方法的参数 S,获得一个 InetAddress 对象,该对象格式为 <域名>/<IP 地址>
- 获取域名和 IP 地址
public String getHostName()
public String getHostAddress()
套接字
- 网络通信使用 IP 地址标识 Internet 上的计算机,使用端口号标识服务器上的进程(程序)。
- 当两个程序需要通信时,他们可以通过使用 Socket 类建立套接字对象并链接在一起
- Socket 的构造方法是 Socket(String host, int port) ,host 是服务器的 IP 地址,port 是一个端口号,可能发生 IOException 异常。
- ServerSocket 的构造方法是 ServerSocket(int port),port 是一个端口号。
- ServerSocket.accept() 方法返回一个和客户端 Socket 对象相连接的 Socket 对象。
- getOutputStream() 获得的输出流将指向客户端 Socket 对象的输入流,getInputStream() 获得的输入流将指向客户端 Socket 对象的输入流。
- ServerSocket 对象可以调用 setSoTimeout(int timeout) 方法设置超时值(ms),accept 阻塞时间过长触发 SocketTimeoutException。
UDP数据报
- 基于UDP通信的基本模式是:
- 将数据打包,称为数据包(好比将信件装入信封一样),然后将数据包发往目的地。
- 接受别人发来的数据包(好比接收信封一样),然后查看数据包中的内容。
- 发送数据包
- 用DatagramPacket的以下两个构造方法创建待发送的数据包:
DatagramPacket(byte data[],int length,InetAddtress address,int port)
DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
- 用
DatagramSocket
类的不带参数的构造方法:
DatagramSocket()
创建一个对象,该对象负责发送数据包。例如:
DatagramSocket mail_out=new DatagramSocket();
mail_out.send(data_pack);
- 接收数据包
- 用 DatagramSocket 的另一个构造方法 DatagramSocket(int port) 创建一个对象,其中的参数必须和待接收的数据包的端口号相同。
- 对象 mail_in 使用方法 receive(DatagramPacket pack) 接受数据包。
- 用 DatagramPack 类的另外一个构造方法: DatagramPack(byte data[],int length) 创建一个数据包,用于接收数据包
广播数据报
- D 类地址:224.0.0.0~224.255.255.255。
- 要广播或接收广播的主机都必须加入到同一个 D 类地址。
教材学习中的问题和解决过程
- 不太熟悉计算机网络的架构,我们学习的编程大概在 OSI 协议中属于哪个层面?会话层还是表示层?
- IP 地址如此重要,为什么在计算机中还可以选择“自动”,计算机的 IP 地址会对程序运行产生影响吗?
代码托管
截图如下
现在才想起来的表格
代码行数 | 博客量 | 学习时间 |
---|---|---|
5000 | 20 | 200 |
7061 | 11 | 109 |