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