微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Cython 中使用 ZMQ

如何解决在 Cython 中使用 ZMQ

我已经让 ZMQ 在 .py 文件中工作,但我想在 cython 类中使用它,但还没有弄清楚如何将正确的库导入到 .pyx 文件中。示例:

import zmq
from zmq.backend.cython.socket cimport Socket
from zmq.backend.cython.context import Context

cdef class MyClass:

    cdef public str tick_port
    cdef public Socket socket
    cdef public Context context

    def __cinit__(self,tick_port):

        self.tick_port = tick_port

        self.context = zmq.Context()
        self.socket = self.context.socket(zmq.SUB)
        self.socket.setsockopt(zmq.SUBSCRIBE,b"")  # Note.

    
    def StartData(self):
        ''' market data comes in here '''
        self.socket.connect("tcp://127.0.0.1:" + str(self.tick_port))
        while True:
            tick_message = self.socket.recv_json()
            print("Data: " + str(tick_message))
            #self.OnTick(eval(tick_message))

如何在 cython 中正确声明和定义各种 zmq 变量?所以我仍然像在 python 中一样创建 contextsocket 对象?很多新手问题,但我从谷歌搜索“如何在 cython 中使用 zmq”中找不到任何内容

例如在编译上面我得到错误

C attribute of type '<error>' cannot be accessed from pythong.

谢谢,

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。