Java网络编程

Posted linlf03

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java网络编程相关的知识,希望对你有一定的参考价值。

一、ISO/OSI七层参考模型

OSI(Open Systen Interconnection) 参考模型将网络的不同功能划分为7层

技术图片

 

二、OSI各层所使用的协议

1、应用层: 远程登录协议Telnet,文件传输协议FTP,超文本传输协议HTTP,域名服务DNS、简单邮件传输协议SMTP,邮局协议POP3等。

2、传输层: 传输控制协议TCP,用户数据报协议UDP

  TCP: 面向连接的可靠的传输协议

  UDP: 是无连接的,不可靠的传输协议。

3、网络层: 网际协议IP,Internet互联网控制报文协议ICMP、Intenrnet组管理协议IGMP

 

三、两类传输协议 TCP/UDP

1、TCP是Transfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。

2.UDP是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。(通常用于传递音频或者视频)

 

四、TCP/ IP与OSI参考模型的对应关系

技术图片

 

五、URLConnection使用

public class UrlConnection1 {

	public static void main(String[] args) throws Exception {
		URL url = new URL("https://www.infoq.com");
		URLConnection conn = url.openConnection();
		InputStream is = conn.getInputStream();
		OutputStream os = new FileOutputStream("d:\\\\infoq.txt");	
		byte[] buffer = new byte[2048];
		int length = 0;	
		while( -1 != (length = is.read(buffer, 0, buffer.length))){
			os.write(buffer, 0, length);
		}
		is.close();
		os.close();
		
	}
}

  

以上是关于Java网络编程的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

JAVA之AOP

java代码在片段活动中不起作用

java 代码片段【JAVA】