Seite 1 von 1

Vom Publisher Daten an Subscriber senden

Verfasst: Sonntag 4. Februar 2018, 01:38
von Robinbux
Moin, ich versuche mittels zeromq eine Art Chatbot zu bauen, aber sehe nicht, wie ich vom Subscriber Daten an den Publisher schicken kann.
Mein derzeitiger Subscriber sieht so aus:

Code: Alles auswählen

import zmq

context = zmq.Context()

print("Connecting to chatbot...")
socket = context.socket(zmq.SUB)
socket.connect('tcp://127.0.0.1:2000')
socket.setsockopt_string(zmq.SUBSCRIBE, '')
name = "Robin"

while True:
   
    message = input("Message: ")
   
    json_data = {
        'name' : name,
        'message' : message
    }
   
    socket.send_json(json_data)
   
    json_recv = socket.recv_json()

    print("{0}".format(json_recv))


Und mein derzeitiger Publisher so:

Code: Alles auswählen

import time
import zmq

context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind('tcp://127.0.0.1:5555')

while True:
   
    json_data = socket.recv_json()
    print("{0}".format(json_data))
    time.sleep(1)
   
    socket.send_json(json_data)


Mein Problem ist, dass ich über Subscriber weder Jsons, noch Objects verschicken kann, und über Publisher diese dementsprechend nicht annehmen, wie es noch mit Request und Reply funktionierte.
Leider fand ich im Internet nur Beispiele und Erklärungen für Fälle, in dem lediglich der Publisher Daten versendet, und die Subscriber annehmen.

Gibt es hier eine Möglichkeit, von den Subscribern aus Daten zu verschicken?

Re: Vom Publisher Daten an Subscriber senden

Verfasst: Sonntag 4. Februar 2018, 02:47
von DasIch
Nein. Wie die Namen Publisher und Subscriber schon sagen, ist die Idee das Information nur in eine Richtung, zum Subscriber, fließt.