JAVA作业9(20201114)

1 网络通信协议分几层?各层解决的问题是什么?

OSI七层协议(Open System Interconnection)
应用层:直接为用户的应用进程提供服务
表示层:提供网络传输的标准格式
会话层:提供网络中两主机之间会话的建立、维持和终止等
传输层:为两主机间的进程通信提供可靠服务
网络层:为分组交换网上的不同主机提供通信服务,包括路由、地址解析等
数据链路层:两个相邻结点间的点到点的帧传输
物理层:比特流传输

TCP/IP四层协议
应用层:负责处理特定的应用程序细节
运输层:主要为两台主机上的应用提供端到端的通信。、
网际层:处理分组在网络中的活动,比如分组的选路。、
网络接口层:包括操作系统中的设备驱动程序、计算机中对应的网络接口卡

2 TCP和UPD协议有什么不同?为什么称TCP是面向连接的可靠的协议?

TCP:三次握手(先发送连接请求消息段,再发送允许连接消息段,最后是连接确认消息段)先连接再传输

UPD:数据易丢失(发送但对方可能收不到)且次序不一定是对的,但传输效率更高

3 在Java语言当中,网络编程是从协议的什么层次开始的?程序设计时,什么情况下选择Java高层次网络编程,什么情况下选择低层次网络编程?

应用层,传输层

高层次网络编程:如URL,不需要对协议本身有太多了解,但功能较弱,相对较简单

低层次网络编程:如Socket,是双向的通讯连接实现数据的交换,通常用来实现客户方和服务方的连接

4 Socket编程时,目的地址和端口号需要在什么地方指出?使用数据报时,又在什么地方指出?

Socket:创建新的Socket对象时

数据报:构造DatagramPacket时

5 利用URLConnection对象编写程序返回某网站的首页,并将首页内容存放到文件当中。

import java.net.*;
import java.io.*;
public class urlhm {//声明抛出所有例外
  public static void main(String[] args) throws Exception {
   URL tirc = new URL("http://www.hzau.edu.cn/");
   //使用openStream得到一输入流并由此构造一个BufferedReader对象
   InputStream instr = tirc.openStream();
   BufferedReader in = new BufferedReader(new InputStreamReader(instr,"UTF-8"));
   String inputLine;
   //从输入流不断的读数据,直到读完为止
   while ((inputLine = in.readLine()) != null) 
      System.out.println(inputLine); //把读入的数据打印到屏幕上
      in.close(); //关闭输入流
  }
}

输出:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值