同时在一个套接字上recv()和send()是否安全?

t.g*_*.g. 8 sockets concurrency send recv

我记得在某地读过一个套接字可以看作是两个独立的半双工通道.这是否意味着recv()send()同一插座,实际上无关紧要?

  • 如果是这样,是根据定义还是特定于实施?
  • 如果没有,两者如何相互干扰?

谢谢.

小智 2

我很好奇你认为他们会如何互相干扰。您认为您可能会收到您发送的信息吗?

  • 您可以发出阻塞或非阻塞发送和接收。通过阻塞,您传入的数据缓冲区就是数据缓冲区。没有混淆的机会。通过非阻塞,您的数据缓冲区将被复制。API 文档中没有关于交错使用的限制,因此它们必须使用不同的缓冲区;因为如果不是,它们就不能是非阻塞的(它们必须互相阻塞)。 (2认同)