Unix domain socket

本文探讨了Unix Domain Socket程序中数据接收不完整的问题,分析了与普通socket的区别,并介绍了如何通过调整/proc/sys/net/unix/max_dgram_qlen参数来解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近写一段unix domain socket程序,发现接收程序所接收的数据不完整,好像有很多报文没有接收到。

最后检查发现unix domain socket与一般的socket还是有不同地方的,其区别在于unix domain socket的接收缓冲大小是以消息数定义的,由/proc/sys/net/unix/max_dgram_qlen进行控制。
如果直接修改该参数,那么下次重启机器后,值会恢复,最好是使用sysctl -w命令或者直接修改/etc/sysctl.conf。

重启程序,或者不行的话就重启机器,最终搞定。

/proc/sys/net/core/目录下就是一些相关参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值