4

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

有没有办法与 ZerMQ 建立这种同步的线程对线程连接?

4

2 回答 2

5

您正在询问如何将特定解决方案(将套接字移交给线程)复制到更广泛的问题(如何编写可扩展的服务器)。

“每个套接字一个线程”设计仅适用于请求-答复的一种模式,例如 HTTP。而真正大量的用例是用于数据分发(发布-订阅)或任务分发(管道)。都不适合一对一的模型。

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

于 2012-11-25T06:59:10.033 回答
0

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

于 2012-11-23T20:02:12.707 回答