Примеры Python ZMQ по сети WLAN - PullRequest
       48

Примеры Python ZMQ по сети WLAN

0 голосов
/ 17 декабря 2018

Для проекта мне нужно общаться между C ++ и Python через ZMQ через сеть WLAN.Если я использую свою реализацию C ++, все работает нормально.Я просто набираю номер порта IP + в client.bind ("tcp: // ...) и могу отправлять сообщения через WLAN. Если я пытаюсь сделать то же самое с кодом Python, он не работает.

Итак, я только что протестировал примеры на python (так что C ++ больше не существует): http://zguide.zeromq.org/py:durapub http://zguide.zeromq.org/py:durasub

Я заменил> localhost <в клиенте на IP моего хост-компьютера.я не получаю никаких сообщений. Я использую в точности код из примера, кроме замены. </p>

Вот код:

ИЗДАТЕЛЬ:

import zmq
import time

context = zmq.Context()

# Subscriber tells us when it's ready here
sync = context.socket(zmq.PULL)
sync.bind("tcp://*:5564")

# We send updates via this socket
publisher = context.socket(zmq.PUB)
publisher.bind("tcp://*:5565")

# Wait for synchronization request
sync_request = sync.recv()

# Now broadcast exactly 10 updates with pause
for n in xrange(10):
    msg = "Update %d" % n
    publisher.send(msg)
    time.sleep(1)

publisher.send("END")
time.sleep(1)  # Give 0MQ/2.0.x time to flush output

ПОДПИСЧИК

import zmq
import time

context = zmq.Context()

# Connect our subscriber socket
subscriber = context.socket(zmq.SUB)
subscriber.setsockopt(zmq.IDENTITY, "Hello")
subscriber.setsockopt(zmq.SUBSCRIBE, "")
subscriber.connect("tcp://192.168.2.119:5565")

# Syncronize with the publisher
sync = context.socket(zmq.PUSH)
sync.connect("tcp://192.168.2.119:5564")
sync.send("")

# Get updates, expect random Ctrl-C death
while True:
    data = subscriber.recv()
    print data
    if data == "END":
        break

Это именно тот пример кода, за исключением того, что я изменил localhost на IP-адрес моего издателя в Коде подписчика. Кстати, я сделал то же самое в примере кода C ++, и он работает.

...