Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Wangarad 14. 12. 2020, 17:21:16

Název: Python zmq co robim zle?
Přispěvatel: Wangarad 14. 12. 2020, 17:21:16
Zdravim. Asi som sa trosku dost zaplietol s json.
Mam
Kód: [Vybrat]
x = {"Data1":0,"Data2":"Test String"}
def send_array_and_str(socket, data, flags=0):
   
    socket.send_json(data, flags | zmq.SNDMORE)
    return socket.send(data, flags)

context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind("tcp://*:5667")
time.sleep(0.2)
my_ndarray = GUI_ARRAY

while True:
    print('Now sent')
    send_array_and_str(socket, my_ndarray)
    time.sleep(1)
Ale hadze mi to chybu
Kód: [Vybrat]
TypeError: {'Data1': 0, 'Data2': 'Test String'} does not provide a buffer interface. Preco sa to deje?
Název: Re:Python zmq co robim zle?
Přispěvatel: Ink 14. 12. 2020, 17:59:07
Zdravim. Asi som sa trosku dost zaplietol s json.
Mam
Kód: [Vybrat]
x = {"Data1":0,"Data2":"Test String"}
def send_array_and_str(socket, data, flags=0):
   
    socket.send_json(data, flags | zmq.SNDMORE)
    return socket.send(data, flags)

context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind("tcp://*:5667")
time.sleep(0.2)
my_ndarray = GUI_ARRAY

while True:
    print('Now sent')
    send_array_and_str(socket, my_ndarray)
    time.sleep(1)
Ale hadze mi to chybu
Kód: [Vybrat]
TypeError: {'Data1': 0, 'Data2': 'Test String'} does not provide a buffer interface. Preco sa to deje?

https://docs.python.org/3/c-api/buffer.html
https://stackoverflow.com/questions/14797806/sending-an-existing-dict-through-zmq-ipc

To posilani dat tam mas dvakrat - send_json() jede - pro send() bys musel udelat neco jako

socket.send(json.dumps(data).encode("ascii"), flags)
Název: Re:Python zmq co robim zle?
Přispěvatel: Wangarad 14. 12. 2020, 19:19:07
Dik pomohlo.