TCP协议以及套接字方面的总结(1)

最近写了一个测试程序,对于TCP方面协议以及套接字接口方面的调用有了更进一步的认识。特此记录下来。

对于监听套接字,它会有一个监听队列。调用listen函数设置,众所周知,TCP连接需要三次握手,握手成功后,会添加到这个队列中,所以我们要通过accpet函数及时取出来,如果队列处于满状态,这个时候在调用connect函数,服务端会处于等待状态,连接超时。所以我测试程序并发1000个连接,会出现连接失败的情况。

关于断开和连接相关时序图:画一个图来演示一下。





当三次握手成功后,服务器端会将该连接投入就绪队列中,这个时候调用accpet将他快速的取出来,直到返回值为-1,errno为eagain。如果这个时候如果再来一个连接,但是就绪队列已经满。无法正常完成三次握手,服务端直接返回RST包,代表连接超时,所以一定要快速取出来。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值