2012-11-23 55 views
4

本地C套接字API在accept()上返回一个新的套接字描述符,该描述符绑定到某个远程套接字。这很好,因为我可以创建线程,传递套接字并建立点对点,或者通过互联网更好地建立线程到线程的连接。这正是我想要的:来自客户端的一个线程应该连接到服务器上的目标线程。因此我不需要一个workerpool或负载平衡甚至不是异步操作。服务器线程保存历史记录。 ZeroMQ看起来很棒,但据我了解,它不会分割接受的套接字。ZeroMQ是否允许多个服务器套接字?

是否有建立这样与ZerMQ的同步螺纹与螺纹连接的方式?

回答

5

你询问如何复制特定的解决方案(移交socket到线程)到更广泛的问题(如何编写出可伸缩的服务器)。

'每个插槽的一个线程'设计只能在请求回复的一种模式下工作,例如, HTTP。数量分布(发布 - 订阅)或任务分配(管道)的真正大量使用案例。两者都不适合1对1模型。

这是一个常见的错误,当你学习一个新的工具问“这个工具如何做我的旧工具做”,但你不会得到这样的好结果。相反,花时间去真正了解该工具的工作原理,然后利用这些知识重新考虑您的问题以及最佳解决方案。

0

我以为Zmq为你处理这个多重连接;我更喜欢通过处理线程回调函数内的连接来创建一个线程到线程的通信,这意味着我的主要zmq连接在单独的线程中创建;这可以在线程内进行单独的连接控制。

相关问题