我记得在某处读到一个套接字可以被视为两个独立的半双工通道。这是否意味着recv()
同send()
一个套接字的和实际上是不相关的?
- 如果是这样,它是根据定义还是特定于实现?
- 如果不是,两者如何相互干扰?
谢谢。
我记得在某处读到一个套接字可以被视为两个独立的半双工通道。这是否意味着recv()
同send()
一个套接字的和实际上是不相关的?
谢谢。
我很好奇你认为他们会如何相互干扰。您是否认为您可能会收到您发送的内容?
在 SOCK_STREAM 的情况下,您可以同时使用发送/接收。
例如:假设您有两个线程,一个负责发送数据,第二个负责接收数据,您可以执行以下操作
主要例程:获取套接字 fd。创建一个 POSIX 线程以将缓冲区发送到此 fd。创建一个 POSIX 线程来接收来自这个 fd 的数据。连接到服务器。
线程1例程:构造消息缓冲区;将缓冲区发送到此 fd。
线程 2 例程:从这个 fd 接收数据。处理日期。