代码之家  ›  专栏  ›  技术社区  ›  t.g.

在一个套接字上同时执行recv()和send()安全吗?

  •  7
  • t.g.  · 技术社区  · 14 年前

    我记得在某个地方读到过这样一篇文章:一个套接字可以看作是两个独立的半双工信道。这是不是意味着 recv() send() 同一个插座的连接实际上是不相关的?

    • 如果是的话,这是定义上的还是事实上的 具体实施?
    • 如果没有,两者又是如何相互干扰的呢?

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  2
  •   user82238 user82238    14 年前

    我很好奇你觉得他们

        2
  •  2
  •   userNishant    9 年前

    对于SOCK\u流,可以同时使用send/recv。

    假设您有两个线程,其中一个负责发送数据 第二个负责接收数据,您可以执行以下操作

    主要程序: 找个插座。 创建一个POSIX线程,用于将缓冲区发送到此fd。 创建一个POSIX线程来接收来自这个fd的数据。

    线程1例程: 构造消息缓冲区; 将缓冲区发送到此fd。

    线程2例程: 从fd接收数据。 处理日期。