gpt4 book ai didi

python - socket.recvmsg 忽略 ancbufsize、辅助数据

转载 作者:太空宇宙 更新时间:2023-11-03 20:49:30 25 4
gpt4 key购买 nike

在unix系统上使用TCP套接字,python似乎完全忽略了我的ancbufsize。

data, ancdata, msg_flags, address = sock.recvmsg(1, socket.CMSG_LEN(4))

摘自recvmsg的Linux手册页:

size_t msg_controllen; /* ancillary data buffer len */

如果我跟踪我的程序,我会看到 msg_controllen 为 0,我似乎无法做任何事情来让它具有非零值。我还需要安装其他软件包吗?运行漂亮的centos7

这是我的 strace 输出中的 recvmsg 调用:

recvmsg(3, {msg_name(0)=0x7ffcc97e2c90, msg_iov(1)=[{"\360", 1}], msg_controllen=0, msg_flags=0}, 0) = 1

这仅返回 msg_iov,并且没有辅助数据,大概是因为 msg_controllen 为 0。

以上返回“360”

最佳答案

How does ancillary data in sendmsg() work?

我认为辅助数据永远不会通过 TCP 套接字发送,令人沮丧的是,许多文档中都没有列出这一点,包括 python 套接字文档、c 消息文档,甚至 APUE 书籍

关于python - socket.recvmsg 忽略 ancbufsize、辅助数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56366611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com