
网络
文章平均质量分 87
不摆烂的zzz
这个作者很懒,什么都没留下…
展开
-
可靠的UDP
UDP为什么是不可靠的 UDP只有一个socket接收缓冲区,没有socket发送缓冲区,即只要有数据就发,不管对方是否可以正确接收。而对方的socket接收缓冲区满了之后,新来的数据报无法进入到socket接收缓冲区,此数据报就会被丢弃,因此UDP不能保证数据能够到达目的地,此外UDP也没有流量控制和重传机制,故UDP的数据传输是不可靠的 bind和connect对于UDP的作用是什么 和TCP建立连接时采用三次握手不同,UDP中调用connect只是把对端的IP和端口号记录下来,并且UDP可多次调用co原创 2021-11-10 09:44:40 · 1010 阅读 · 0 评论 -
I/O模型与复用
I/O模型 在Unix下可用的五种I/O模型是:阻塞式IO,非阻塞式IO,IO复用,信号驱动式IO,异步IO 如何区别什么是阻塞非阻塞,异步同步呢? 举个栗子:老王有两只水壶,一只不会响的(下文叫水壶),另一只会响的(下文叫响水壶),有一天老王口渴了,要烧水,他做个四个选择 选择一:同步阻塞 老王用水壶烧水,他搬来小板凳就在水壶旁边等水开,而且期间一直看着水壶,没做其他事 选择二:同步非阻塞 老王还是用水壶烧水,他搬来小板凳就在水壶旁边等水开,但是期间他可以打游戏,学习,编码,做了很多事情 选择三:异步阻塞原创 2021-11-01 10:14:49 · 147 阅读 · 0 评论 -
TCP详解
TCP TCP的结构如下 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生。给字节编上序号后,就给每一个报文段派一个序号,序列号seq就是这个报文段中的第一个字节的数据编号 确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号,序列号表示报文段携带数据的第一个字节的编号,而确认号指的是期望接受到下一个字节的编号,因此当前报文段最后一个字节的编号+1即为确认号 确认ACK:占1位,仅当ACK=1时,确认号字段才原创 2021-10-14 14:10:07 · 788 阅读 · 0 评论 -
TCP和UDP区别
TCP 是面向连接的,UDP 是面向无连接的 TCP传输速度慢,传输速度快 TCP 是面向字节流的,它能将信息分割成组,并在接收端令其重组。UDP 是基于数据报的,没有分组开销 TCP 保证数据正确性,UDP 可能丢包 TCP 保证数据顺序,UDP 不保证 确认重传,拥塞控制机制https://blog.youkuaiyun.com/zhang6223284/article/details/81414149 ...原创 2019-08-16 07:54:21 · 126 阅读 · 0 评论