- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当我有两个线程时,我使用 PAIR socket 类型。但是现在我使用的是两个进程,它们可以在一台机器上,也可以在不同的机器上。我不需要请求和响应,我不需要发送到多个节点,等等。我需要与 PAIR(异步、双向)相同的东西,但需要进程和网络。我应该使用什么套接字类型?
最佳答案
不幸的是,你的世界变得有点复杂了。在更广泛的分布式系统中,没有直接模拟 PAIR/PAIR
套接字配对。
就是说,如果您保持大致相同的拓扑形状(两个节点只相互连接,没有其他节点),那么您几乎可以使用 ROUTER/DEALER
或甚至 DEALER/DEALER
(如您在评论中所建议的那样)。这些套接字有点像 REQ/REP
,但它们不强制执行严格的请求/响应通信模式,它们完全不受限制,所以实际上你得到的是同样的东西。唯一的问题是如果你打算添加更多的节点,此时你必须开始以不同的方式管理事情,特别是 DEALER
套接字不允许你选择发送到哪个节点,这是严格的循环。
但是,这样做应该可以得到您想要的东西(异步、双向)。
ROUTER
套接字类型可能需要一些额外的复杂性,因为您需要跟踪另一个节点的“标识符”以便能够发送回它(您可以得到这个 几乎是免费的,尤其是在你只有一个同伴的情况下,通过直接在发送的消息中使用它)。因为这是排他对,你可以忽略 DEALER
套接字引入的循环不确定性,直接进入 DEALER/DEALER
,这给你一个不受限制的消息模式,不需要任何身份管理。
关于c - 用于进程间通信的 ZeroMQ 套接字类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24122018/
根据 Android docs ,activity生命周期如下: onCreate() onStart() onResume() onPause() onStop() onDestroy() 问题是,
我有一门类(class)有很多专栏,但这个问题只需要其中三个: ---------------------------------------- | start_date | start_time
给定在同一个 Tomcat 6 上运行的两个 Web 应用程序。如果您从一个应用程序到另一个应用程序进行 http 调用,Tomcat 是否会“短路”此调用,或者它会在调用之前一直在 interweb
我是一名优秀的程序员,十分优秀!