Moh*_*mad 4 sockets network-programming
我已从 PHP 手册中阅读了这两种通信类型的定义,但实际上我在理解某些段落时遇到了问题,因此我需要您的帮助。
这些两个定义适用于 PHP 手册:
SOCK_STREAM 提供有序、可靠、全双工、基于连接的字节流。可以支持带外数据传输机制。TCP 协议基于此套接字类型。
SOCK_SEQPACKET 为固定最大长度的数据报提供有序的、可靠的、基于双向连接的数据传输路径;消费者需要在每次读取调用时读取整个数据包。
但我真的不明白为什么它使用全双工、基于连接的字节流和双向基于连接的数据传输路径来表示固定最大长度的数据报,我真的不知道双向有什么区别连接和全双工连接。
我有点困惑所以我需要你的帮助。谢谢大家。
全双工意味着它能够同时进行通信以发送和接收数据。
不过,该手册在此处具有误导性;套接字类型不能保证通信的效率,而只是可以对它们执行什么样的操作。
从我的socket(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.
Run Code Online (Sandbox Code Playgroud)