【JavaEE初阶】网络编程套接字概念及分类|TCP和UDP特点及区别|丢包

目录

Socket套接字

1.概念

2.分类

1.TCP和UDP:

特点:

(1)有连接 VS 无连接

(2)可靠传输 VS 不可靠传输

丢包:

为啥会出现丢包?

如何对抗丢包?

(3)面向字节流 VS 面向数据报

(4)全双工 VS 半双工 


 上篇文章网络原理学习了:

1.网络的核心概念

2.封装分用流程

3.TCP/IP哪五层+每层干啥的(需倒背如流)

问题:当数据交给上一层的时候,是由哪个协议负责进行解析的呢?eg:数据链路层到网络层传输时,是交给ipv4还是ipv6呢?网络层传输到传输层,交给TCP解析还是UDP呢?

答:每个协议报头中都包含对应的信息,告诉你上一层是要交给哪个协议来处理的,不能自己决定的


网络编程套接字,也就是跨主机通信

一、Socket套接字

1.概念

操作系统提供的网络编程的API称为‘socket api”

目前:见到socket这个词,就可以认为是”网络编程的API“的统称


2.分类

操作系统提供的socket api其实不只有一套,而是有好几套~~

(1)流式套接字 =》给TCP使用的

(2)数据报套接字 =》给UDP使用的

(3)Unix域套接字 =》不能跨主机通信,只是本地主机上的进程和进程之间的通信方式(现在使用的很少了)

1.TCP和UDP:

TCP和UDP都是传输层协议,都是给应用层提供服务的

但是由于这两个协议,特点,差异非常大,因此我们需要搞两套api,来分别表示

 特点:

TCP:有连接,可靠传输,面向字节流,全双工

UDP:无连接,不可靠传输,面向数据报,全双工


 (1)有连接 VS 无连接

有连接

你可能感兴趣的:(JavaEE初阶,网络,java-ee,人工智能,计算机视觉,深度学习)