一些网络问题

 accepet/listen

三次握手是发生在客户端的connect,发生在服务端的listen到accept之间,由协议栈实现。

listen(fd,backlog)的第二个参数指的是监听的全连接队列里面节点的个数

accept从全连接队列里取出一个tcb并为其分配一个fd(open,accept,socket可以分配新的fd)

UDP的并发

 

        大部分udp服务器是顺序迭代的,服务器等待客户端请求,然后读取请求,处理请求,发回响应。但是,当处理客户端请求需要很长时间,就需要考虑某种形式的并发。一个“长处理”可以理解为处理请求的时间明显大于发送请求的时间。
        并发的常见思路是使用多线程。服务器在读取一个新请求之后,可以交由一个线程处理,该线程在处理之后直接将响应内容发给客户端。另一方面,udp服务器和多个客户端交互,但是却没有多个socket。典型的解决方案是,服务器为每个客户端创建一个新的socket,并绑定一个新的端口。客户端以后就通过这个新的socket与服务器通信,获得响应。总结来说,udp并发服务器,针对多个客户端,可以创建多个socket;针对多个请求,可以使用多线程(线程池)进行处理。

大量time_wait和close_wait

(44条消息) 网络面试题:服务器出现大量的time_wait或close wait问题及解决方案_我是方小磊的博客-CSDN博客(44条消息) TCP通信过程中time_wait和close_wait产生过多的原因和解决方法_Kuany_的博客-CSDN博客

TCP

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值