标签: sockets debugging sendto
我有一个进程无限循环继续调用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)
答案 0 :(得分:1)
尝试strace(1)的-xx和-e write 10选项。这有望使解释有效载荷变得更容易。
strace(1)
-xx
-e write 10
问题虽然似乎是接收方没有阅读。由于unix(7)套接字始终可靠,并且实际上对内核中保存的数据报数量有限制(Linux上为/proc/sys/net/unix/max_dgram_qlen),因此发送方无法再写入套接字。
unix(7)
/proc/sys/net/unix/max_dgram_qlen