【问题标题】:Multiple connect to each other trials in C socketsC套接字中的多个相互连接试验
【发布时间】:2011-04-01 14:21:07
【问题描述】:

我有 2 个套接字服务器,它们只需要尝试多次相互连接。我所做的是创建了 2 个套接字 s1 和 s2。将 s1 绑定到某个端口和地址。 然后在 while(num_trials)

我每次都尝试关闭 s1 套接字 - 这使得 2 服务器也循环 - 但它们仍然没有相互连接。我不确定我是否遗漏了一些细节。我不能使用 select 并且这不是接受多个客户端连接的情况。有没有更好的方法来实现这一点?

【问题讨论】:

    标签: c sockets


    【解决方案1】:

    默认情况下,套接字是阻塞的。当您对其执行任何操作时,它将阻塞,直到操作完成。因此,您需要使您的套接字非阻塞或使用select(或其他异步机制)。

    maheshgupta024 提到的另一种选择是将操作拆分到不同的线程中。例如:服务器在主线程中运行,客户端在辅助线程中。

    【讨论】:

    【解决方案2】:

    如何创建两个线程并相互连接.. 一个应该监听,另一个应该连接一个端口。 即说 S1 正在监听端口 1000 然后 S2 应该连接到 1000 S2 应该监听 2000,S1 应该连接到 2000。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多