Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets SOCK_流VS SOCK_SEQPACKET_Sockets_Network Programming - Fatal编程技术网

Sockets SOCK_流VS SOCK_SEQPACKET

Sockets SOCK_流VS SOCK_SEQPACKET,sockets,network-programming,Sockets,Network Programming,我已经从PHP手册中阅读了这两种通信类型的定义,但实际上我在理解某些段落时遇到了问题,所以我需要您的帮助 这两个定义适用于PHP手册: SOCK_流提供有序、可靠、全双工、基于连接的字节流。可以支持带外数据传输机制。TCP协议基于此套接字类型 SOCK_SEQPACKET为固定最大长度的数据报提供有序、可靠、基于双向连接的数据传输路径;消费者需要在每次读取调用时读取整个数据包 但我真的不明白为什么它使用全双工,基于连接的字节流和基于双向连接的数据传输路径,用于固定最大长度的数据报,我真的不知道双

我已经从PHP手册中阅读了这两种通信类型的定义,但实际上我在理解某些段落时遇到了问题,所以我需要您的帮助

这两个定义适用于PHP手册:

SOCK_流提供有序、可靠、全双工、基于连接的字节流。可以支持带外数据传输机制。TCP协议基于此套接字类型

SOCK_SEQPACKET为固定最大长度的数据报提供有序、可靠、基于双向连接的数据传输路径;消费者需要在每次读取调用时读取整个数据包

但我真的不明白为什么它使用全双工,基于连接的字节流和基于双向连接的数据传输路径,用于固定最大长度的数据报,我真的不知道双向连接和全双工连接之间有什么区别

我有点困惑,所以我需要你的帮助。
谢谢大家。

全双工意味着它能够同时发送和接收数据

但手册在这里有误导性;套接字类型不能保证通信的效率,只能保证对它们执行何种操作

从我的
插座(2)
手册页:

   SOCK_STREAM     Provides sequenced, reliable, two-way, connection-based byte streams.  An out-of-band  data  transmission
                   mechanism may be supported.

   SOCK_SEQPACKET  Provides  a  sequenced,  reliable, two-way connection-based data transmission path for datagrams of fixed
                   maximum length; a consumer is required to read an entire packet with each input system call.

但是双向意味着什么呢?有些套接字类型只允许发送或接收,而不允许同时发送或接收