1
#include <sys/socket.h>
int main() {
int s[2];
socketpair(AF_UNIX, SOCK_STREAM, 0, s);
close(s[1]);
char buf;
read(s[0], &buf, 1);
}
完成,但与SOCK_DGRAM它挂起。如何知道sockatpair的SOCK_DGRAM对等套接字何时关闭?
如何找出何时不再有消息?为什么“read”在对等FD关闭时不会返回类似ECONNRESET的内容?
OK。我可以用SOCK_SEQPACKET替换SOCK_DGRAM,并假设它将支持SOCK_SEQPACKED吗? – 2013-03-18 22:41:37
我没有亲自使用过SOCK_SEQPACKET,但是是的,这似乎是它的目的,它听起来像它应该工作的线程。 – rra 2013-03-19 00:36:22