第一个问题,大家的回复很正确,time.sleep(1) 后置,则第一条消息会丢失,因为建立连接需要时间,建立成功之前的所有消息都会丢失。
第二个问题,在 linux socket 中, 一个连接就是一个 socket , 但在 ZMQ 中, 一个 socket 上可以承载多个数据连接. 这里 socket 和connection不再是同个层次上的等价词汇, 要把socket理解为程序员访问数据连接的一个入口。因此,我们在绑定一个 socket 之后,可以让多个发布者连接到这里即可,和多个订阅者的使用是同样的方式。