代码之家  ›  专栏  ›  技术社区  ›  Tampa

Zmq-pub从go-using-ipc到python订阅服务器不工作,但tcp可以

  •  1
  • Tampa  · 技术社区  · 6 年前

    我正在使用go和zmg库github.com/zeromq/goczmq

    在go中:

    pubEndpoint := "tcp://127.0.0.1:7000"
    pubSock, err := goczmq.NewPub(pubEndpoint)
    if err != nil {
        log.Fatal(err)
    }
    defer pubSock.Destroy()
    pubSock.Bind(pubEndpoint)
    
    for {
        err = pubSock.SendFrame([]byte("stream hello"), goczmq.FlagNone)
    }
    

    在python中:

    context = zmq.Context()
    socket = context.socket(zmq.SUB)
    socket.connect("tcp://127.0.0.1:%s"%port)
    print ('port:',port)
    socket.setsockopt(zmq.SUBSCRIBE, "stream")
    
    while True:
        transpport = socket.recv()
        transpport = transpport.split('stream ')[1]
        print (transpport)
    

    现在,如果我从tcp改为icp,我不会得到任何错误,但是python代码不会打印数据。

    现在在python中,publisher和subscriber通过ipc工作。我正在尝试重构我的发布服务器以使用Go,但更喜欢使用ipc而不是tcp。

    在python中使用sum-- Ipc没有抛出错误,但是python没有接收数据

    0 回复  |  直到 6 年前