我已经从PHP手册中读到了这两种通信的定义,但实际上我在理解某些段落时遇到了问题,所以我需要你的帮助。
这些定义适用于PHP手册:
SOCK_STREAM 提供有序,可靠,全双工,基于连接的字节流。可以支持带外数据传输机制。 TCP协议基于此套接字类型。
SOCK_SEQPACKET 为固定最大长度的数据报提供有序,可靠,双向连接的数据传输路径;消费者需要在每次读取呼叫时读取整个数据包。
但实际上我无法理解为什么它使用了全双工,基于连接的字节流和基于双向连接的数据传输路径,用于固定最大长度的数据报而且我真的不知道 双向 连接和 全双工 连接。
我有点困惑,所以我需要你的帮助。 谢谢每个人。
答案 0 :(得分:4)
全双工意味着它能够同时进行通信以发送和接收数据。
虽然这本手册在这里有误导性;套接字类型不能保证通信的效率,而只是对它们执行哪种操作。
来自我的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.