我有一个进程陷入无限循环,不断调用sendto函数。我可以通过strace看到该过程的sendto参数,但是我不知道如何读取套接字消息。有任何解释此消息的提示吗?
sendto(10, "\10\0\n\0\1\20\v\251\273D\0\0\4\0", 14, 0,
{sa_family=AF_FILE, path="/temp/test_ipc_msg"}, 22) = -1,
EAGAIN (Resource temporarily unavailable)
最佳答案
尝试使用 -xx
的-e write 10
和strace(1)
选项。希望这将使解释有效载荷更加容易。
但问题似乎在于接收方未在阅读。由于 unix(7)
套接字始终可靠,并且事实上内核中保留了多少个数据报(在Linux上为/proc/sys/net/unix/max_dgram_qlen
)是有限制的,因此发送方无法再写入套接字了。
关于sockets - 如何解释sendto Unix套接字消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29667651/