Hi!请登陆

Java学习记录-9(网络通信)

2020-11-17 31 11/17

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

OSI七层协议(Open System Interconnection)

TCP/IP四层协议

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

通信方式

TCP:进行数据传输之前必然要建立连接,所以在TCP中多了一个连接建立的时间;

UDP:每个数据报中都给出了完整的地址信息,因此无须建立发送方和接收方的连接

传输数据量

TCP:一旦连接建立起来,双方的Socket就可以按统一的格式传输大量的数据

UDP:传输数据时有大小限制,每个被传输的数据报必须在64KB之内

传输数据可靠性

TCP:TCP是一个可靠的协议,它能确保接收方完全正确地获取发送方所发送的全部数据

UDP:UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方,也不能保证接收方一定能收到

各自特点

TCP:传输量大,可靠性强。例如远程连接和文件传输都需要不定长度的数据被可靠地传输

UDP:操作简单,传输效率高

TCP是面向连接的可靠的协议原因:通过TCP协议传输,得到的是一个顺序的无差错的数据流,且两主机之间的连接要连续交换3次消息

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

传输层。

根据编程使用协议的层次分为高层次网络编程(基于应用层)和低层次网络编程(基于传输层),高层次网络编程适用于面向Internet的通信,而低层次网络编程则面向内部网络通信。

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

Socket:在创建新的socket对象时

数据报:在DatagramPacket的构造方法中

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

publicclassHomepage{publicstaticvoidmain(String[] args)throws IOException { URL url=newURL("http://www.hzau.edu.cn/"); URLConnection con = url.openConnection; BufferedReader is
=newBufferedReader(newInputStreamReader(con.getInputStream,"UTF-8")); FileOutputStream fos =newFileOutputStream("/Users/colleen/Desktop/hzau.html");//指定路径,它会自动新建一个文件 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;}}

相关推荐