Unix套接字,SOCK_SEQPACKET和SOCK_DGRAM
看来至少有3种不同的本地/ unix套接字类型(PF_UNIX),SOCK_STREAM,SOCK_DGRAM和SOCK_SEQPACKET。
虽然我知道SOCK_STREAM给你一个双向字节流,如TCP或双向管道,另外两个给你一个messge / packet API,SOCK_DGRAM和SOCK_SEQPACKET的unix套接字有什么区别? 因为这些只是本地的,我不能想到有人会以一种可以重新排序数据包的方式实现SOCK_DGRAM的好理由。 另外,SOCK_DGRAM / SOCK_SEQPACKET是否使用流控制,或者可以在缓慢读取器的情况下删除邮件?
这里是一个关于SOCK_SEQPACKET的预期用例的好文章,事实上它在IP协议族中并不真正可用,以及如何使用现有的TCP语义获得同样的东西:
http://urchin.earth.li/~twic/Sequenced_Packets_Over_Ordinary_TCP.html 注意,SOCK_SEQPACKET在行为上比SOCK_DGRAM更接近SOCK_STREAM。 引用自引用的网站:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |