JAVAEE出街 网络编程(一)

网络编程

    • 一. 网络编程
    • 二. 客户端与服务器
      • 2.1 一问一答
      • 2.2 一问多答
      • 2.3 多问一答
      • 2.4 多问多答
    • 三. TCP与UDP的特点

一. 网络编程

网络编程本质上就是学习传输层给应用层提供的API,把数据交给传输层,通过一层层的封装将数据通过网卡传输出去。

二. 客户端与服务器

客户端:主动发起通信的一方
服务器:被动接受的一方。
客户端给服务器发送的数据,称为请求(request)
服务器返回给客户端的数据,称为响应(response)

2.1 一问一答

JAVAEE出街 网络编程(一)_第1张图片

一个请求只有一个响应,称为一问一答。

2.2 一问多答

一个请求对应多个响应,应用场景主要在下载。

2.3 多问一答

多个请求一个响应,应用场景在上传

2.4 多问多答

一个请求多个响应,一个响应多个请求。应用场景在远程控制桌面。

三. TCP与UDP的特点

TCP的特点: 1.有连接
2.可靠传输
3.面向字节流
4.全双工

UDP的特点:1.无连接
2.不可靠传输
3.面向数据报。
4.全双工

此处所说的连接,不是真正意义上的物理上的连接,而是一种虚拟的,抽象的连接。
有连接:比如打电话 一方打,你可以接或者不接。
无连接:比如发微信,无论你是否看,消息已经发过去了。
网络上谈到的连接,都是双方彼此都保存对方的信息。

可靠传输:无论使用什么样的技术手段,都不可能百分百保证能让信息从A传到B,此处的可靠传输是尽可能的完成传输,虽然无法保证一定到达,但是可以知道信息是否传到。
不可靠传输:不知道发送的数据到没到对方。

面向字节流:网络中传输数据的基本单位是字节。
面向数据报:每次传输的基本单位是一个数据报。(由一系列字节组成)

全双工:可以双向通信。

你可能感兴趣的:(java-ee,网络,java)