推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习
socket是插座,fd和tcb控制块。
一个fd就有一个tcb,一百万个fd就要有一百万个tcb,通过五元组进行区分,只要五元组的数量足够多,连接就可以很多。
send()函数只负责将数据拷贝。push标志位置1,立即推给应用程序去处理。协议头上面加上长度,加上分隔符。顺序是先发的先到、ip层也并不能保证发送的顺序。 延迟ACK
ACK回复只回复到比丢失帧帧号小但是最大的帧。
TCP如此优秀,那为什么还要选择UDP?弱网环境下,TCP丢包延迟ACK导致多次重传,并且实时性无法保证。
TCP为什么是四次挥手?恩师表示三次挥手也是可以的,就像男女分开,三次分手就是毫无人性的表示立刻同意分手,当机立断。而四次分手,男方经过慎重思考后决定再去分手。隐身如果交往之时也是同样的可以分为四次拉手。
先调用close,都关闭了就解决啦。将业务信息抛到子线程。 如何终止到fin_wait_2?
卡在fin_wait_2想取消,进程是关不掉的。
要么这个问题就不解,再起个连接又能怎么样?设置keepalive



