首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们如何决定推挽套接字应该绑定()还是Connect()?

我们如何决定推挽套接字应该绑定()还是Connect()?
EN

Stack Overflow用户
提问于 2016-12-09 09:03:14
回答 1查看 873关注 0票数 3

在学习ZeroMQ时,PUSHPULL类型的套接字对我来说没有多大意义。据我所知,PUSH套接字应该始终是.connect(),因为它发送,而PULL套接字应该是.bind(),因为它只接收数据。

通常的示例显示如下所示:

以下是它通常的设置方式:

  • 节点A有PUSH套接字和绑定(为什么?)
  • 节点C具有拉出套接字和绑定
  • 中间节点有PUSH套接字,但.bind() none和.connect()都有。

如何确定推挽套接字应该是.bind()还是.connect()-ed??

EN

回答 1

Stack Overflow用户

发布于 2016-12-09 16:45:04

通常,系统中更稳定的部分(“服务器”)将绑定,更多的临时部分(多个“客户端”)将连接。

大多数ZeroMQ套接字可以绑定(充当服务器)或连接(充当客户端)。你可以先连接然后再绑定。客户端将继续尝试连接,直到服务器启动为止。这是ZeroMQ的一个非常好的特性。

在推拉的情况下,无论是绑定还是连接都是很好的。对于酒吧/潜艇、路由器/经销商等也是如此。

在图中,您可以在运行时添加或删除中间节点,而不必重新配置或重新启动节点A或C。这可能就是它们选择绑定A和C的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41056664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档