【发布时间】:2012-06-29 14:46:12
【问题描述】:
我在网关上有一个网络应用程序。它接收和发送数据包。对于大多数人来说,我的网关充当路由器,但在某些情况下,它也可以接收数据包。
我应该有:
- 只有一个主线程
- 一个主线程 + 一个调度线程,负责将其提供给正确的流处理程序
- 线程数与流数一样多
- 别的东西。
?
【问题讨论】:
-
如果您不想学习 Unix 网络编程(如果您不想自己编写代码),您可以使用一些 lib 来提供帮助。看看 ENet (enet.bespin.org)。你可以在这里阅读更多关于它的信息:linuxjournal.com/content/network-programming-enet(来自文本:这意味着你不必担心为了处理多个连接而对 connect() 和 accept() 进行分叉、预分叉、线程或非阻塞调用的复杂性.)
标签: c linux multithreading networking