• Jingxiao 置顶
    2019-08-19
    第一个问题,大家的回复很正确,time.sleep(1) 后置,则第一条消息会丢失,因为建立连接需要时间,建立成功之前的所有消息都会丢失。
    第二个问题,在 linux socket 中, 一个连接就是一个 socket , 但在 ZMQ 中, 一个 socket 上可以承载多个数据连接. 这里 socket 和connection不再是同个层次上的等价词汇, 要把socket理解为程序员访问数据连接的一个入口。因此,我们在绑定一个 socket 之后,可以让多个发布者连接到这里即可,和多个订阅者的使用是同样的方式。
    
     5
  • Skrpy
    2019-08-08
    我以为实战篇会有量化交易平台的实现的…可是老师只讲了一些 Kafka 的概念,39讲的 Django 也只是官方文档的例子…老师有没有更好的实战教程?
     1
     17
  • SCAR
    2019-08-02
    思考题
    1.如果把time.sleep(1)放在while 循环的最后,订阅者会接收不到发布者发布的第一个消息‘server cnt 1’,因为订阅者和发布者建立连接需要时间,连接好后已经是在第一个消息发布之后了,自然订阅者会手不到第一个消息的。
    2.多个发布者的话,不同的发布者使用不同的端口,而后订阅者根据匹配的端口读取消息。
    
     3
  • hlz-123
    2019-08-02
    思考题
    1.如果把time.sleep(1)放在while循环最后,订阅者接收不到发布者的第一条消息,因为,发布者和订阅者建立连接需要时间,在我的电脑中,建立连接的时间不低于0.5秒,并且通过程序运行表明,只在发布者while循环中第一次执行sleep(1),以后每次循环不执行sleep(1),接收者也能正常接收到发布者信息,
    至于具体原因,需要老师讲解一下。
    2.如果有多个发布者,每个发布者应该绑定一个socket
                  例如,发布者1,socket.bind('tcp://*:6666')
                            发布者2,socket.bind('tcp://*:6667')
       对于接收者来讲,可以接收一个或多个发布者的消息,
                  接收发布者1消息,socket.connect('tcp://127.0.0.1:6666')
                  接收发布者2消息,socket.connect('tcp://127.0.0.1:6667')
    展开
    
     1
  • 宝仔
    2019-08-02
    把发布者的time.sleep(1)放到循环语句后面,会导致第一条消息(server cnt 1)丢失。原因是此时发布者应该还没有和zmq完全建立通讯通道,导致消息丢失
    
     1
  • hel793
    2019-09-14
    需安装 pyzmq
    
    
  • 小侠龙旋风
    2019-08-04
    socket.bind('tcp://*:6666')这句话里域名写成*是不是指任意域名?
    
    
  • 宝仔
    2019-08-02
    把time.sleep(1)放到while后面,消费者第一个数据包(server cnt 1)收不到
    
    
  • Claywoow
    2019-08-02
    老师,celery这个消息队列和您讲述的这两种有什么区别嘛?生产环境大多哪种消息队列比较实用和高效
     2
    
  • tt
    2019-08-02
    今天谈到了数据结构,我想请教一下老师,数据结构如果是基于链表的,在其它语言中会大量使用指针和引用,但是基于python语言变量含义的特殊性及参数传递的特性,在实现链表结构的时候有没有比较明确的指导呢?

    感觉9咱们专栏有很多点都和数据结构的实现有关,但是比较分散。
     1
    
我们在线,来聊聊吧