sockets - 如何解释sendto Unix套接字消息?

标签 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)

最佳答案

尝试使用 -xx -e write 10strace(1)选项。希望这将使解释有效载荷更加容易。

但问题似乎在于接收方未在阅读。由于 unix(7) 套接字始终可靠,并且事实上内核中保留了多少个数据报(在Linux上为/proc/sys/net/unix/max_dgram_qlen)是有限制的,因此发送方无法再写入套接字了。

关于sockets - 如何解释sendto Unix套接字消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29667651/

相关文章:

Linux应用程序未ACK FIN数据包并发生重传

gdb - 检查 GDB 中的函数返回值

jquery - bootstrap selectpicker 和 bootstrap.js 文件之间存在冲突

c - 输入相关错误 : sendto() error code 22 (Invalid argument) depending on input size

c - 发送到:无效参数

sockets - TCP 中的 send() 函数是否保证按顺序到达?

Perl IO::Socket 计时问题

sockets - 与gen_tcp并行建立大量连接时出现CLOSED错误(错误?)

java - IntelliJ 远程调试器连接,但断点不起作用

c - Perf Profiler 报告过度使用 "do_syscall_64"