网络相关

2022-02-09  本文已影响0人  go_2021

治疗焦虑,迷茫,可以用同仁堂的-忙,见效快。

tcp 和 udp的区别?

https://blog.csdn.net/quitozang/article/details/80861376

两者的区别大致如下:

  1. tcp 面向连接,1对1的,3次握手建立连接,而udp是支持1对多。
  2. tcp数据保证顺序,流量控制,拥塞控制。所以是面向字节流,把报文进行拆分,而udp是不会拆报文。
三次握手 4次挥手

https://www.jianshu.com/p/d3725391af59
握手:
1)Client:嘿,李四,是我,听到了吗?
2)Server:我听到了,你能听到我的吗?
3)Client:好的,我们互相都能听到对方的话,我们的通信可以开始了。
挥手:
1)Client:我所有东西都说完了
2)Server:我已经全部听到了,但是等等我,我还没说完
3)Server:好了,我已经说完了
4)Client:好的,那我们的通信结束

拆包粘包

拆包就是把一个报文的 东西分几次传输
粘包就是一此传输 里包含几次的报文内容

长短链接

短连接就是访问一次就是释放了,长连接是会保持链接,http1.1默认就是长连接,复用链接减少建立销毁链接的开销。

TCP拥塞控制 流量控制

https://mp.weixin.qq.com/s/ALiTd4foUWFoNVE88WWOYw

io相关概念

同步异步
服务端会不会主动回调。
阻塞非阻塞
是指io流程中第一步是否阻塞让客户端等待。

io流程:
服务端返回给客户端数据,大致分为两步:

  1. DMA从网卡或者硬盘copy到内核 。
  2. 从内核copy到客户端。
java中的nio

https://www.jianshu.com/p/191041073919
selector 监听多个通道上的事件。
channel 一个通道对应一个连接,会有读,写,创建连接等事件。
FileChannel是阻塞的。
buffer 是一个对数据的一个封装。

nio的几种Reactor模式(selector是轮询监听,works是干活的线程)
异步非阻塞

https://www.jianshu.com/p/df1d6d8c3f9d
AIO又称为NIO2.0,在JDK7才开始支持。
一句话不好用,性能没提升,封装的也不好。

selector poll epoll区别

https://baijiahao.baidu.com/s?id=1611547498841608701&wfr=spider&for=pc

上一篇 下一篇

猜你喜欢

热点阅读