天天看点

2020/11/14 java作业九

2020/11/14 java作业九
2020/11/14 java作业九

1.

应用层

面向特定的网络应用提供服务,例如网页传输,文件传送,终端控制等。

表示层

将会话层得到的数据转化为应用层可以理解的表达形式,或将应用层数据转为会话层可以传输的形式。

会话层

为用户交互信息而按特定规律建立的连接,提供会话地址和会话管理服务。

传输层

传输层解决处于不同网络设备间的通信连接、通信管理,对上层需要通的数据信息分解为标准的适于传输的数据单元,这些数据单元到达终端后能对这些数据件重新排序和整合。

网络层

网络层解决跨越多个链路甚至不同网结设备间的通信问题(路由选择、流量控制、传输嘶认、中断、差错及故障恢复等),是一种端到端的通信。

数据链路层

数据链路层负责数据通道的建立与拆除,当物理层受到主干扰发生传输错误时,链路层可以对数据进行检错和纠错。

物理层

通过物理电气接口实现互联设备间的比特形式的信息传输。

2.不同:

2020/11/14 java作业九

原因:TCP的可靠是体现在其通信过程必须三次握手,因此其通信结果是可掌握的,必然成功的。

而UDP则几乎把传输的成功率完全依赖在IP协议上了,即尽最大努力去完成传输任务。它没有建立连接和撤销连接阶段,因此传输的结果有可能是失败,因此称为不可靠的协议。

3.网络编程从传输层开始。

低层次网络编程是基于TCP和UDP,高层次网络编程是基于URL的。

4.Socket编程在创建客户端时指出目的地址和端口号。

数据报在构造DatagramPacket时。

5.

import java.io.*;
import java.net.*;

public class html {
    public static void main(String[] args) throws IOException {
        URL url=  new URL("https://www.chd.edu.cn/");
        URLConnection con = url.openConnection();
        BufferedReader is=  new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
    
        FileOutputStream fos = new FileOutputStream("D:\\t1.txt");
        String line;
        while((line = is.readLine()) != null ) {
            line = line + "\n";
            fos.write(line.getBytes("UTF-8"));
            fos.flush();
        }
        System.out.println("Successful!");
        is.close();
        fos.close();
    }
}