【问题标题】:Trying To Implement Concurrent TCP Server and Client in c尝试在c中实现并发TCP服务器和客户端
【发布时间】:2011-03-13 16:55:02
【问题描述】:

我已经使用线程和分叉在 c 中实现了 TCp 并发服务器和客户端。 但我没有办法检查是否有任何其他标准的实施方式 这个。

我已经查看了标准编码的东西,但没有发现任何有用的东西。 有人可以分享一些好的链接或代码,这样我就可以有一个标准的想法 实现并发服务器。

感谢您的帮助

【问题讨论】:

标签: c sockets concurrency tcp


【解决方案1】:

没有“标准的想法”。您的方法将取决于需求、性能、可伸缩性和允许的开发时间。

  • 每个客户端一个线程
    • 可能带有线程池
  • 多线程管道模型,有 N 个工作线程
  • 每个服务器一个线程,使用轮询/选择
  • 每个服务器一个线程,基于事件和回调
  • 分叉子节点,每个客户端连接一个
    • 预分叉子代,例如Apache 网络服务器

等等。所有这些都有它们的用途。

【讨论】:

    【解决方案2】:

    一些不错的链接:

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      并发服务器(只要它们非常简单,并且性能不是什么大问题)通常使用poll()select() 创建。现在,这是假设您在 *nix 上。 如果你会使用 C++,boost 库有 ASIO ,这是一个跨平台库,允许你编写一次,到处编译。由于想法因操作系统而异。

      【讨论】:

        猜你喜欢
        • 2019-09-28
        • 1970-01-01
        • 2014-05-15
        • 2019-02-26
        • 1970-01-01
        • 2021-07-10
        • 2021-06-22
        • 2014-09-01
        • 1970-01-01
        相关资源
        最近更新 更多