Почему демонстрационный код ZeroMQ не работает на Win10? - PullRequest
1 голос
/ 04 марта 2020

Я учусь общаться с сервером с точки зрения клиента / трейдера. Похоже, ZeroMQ - это пакет go, который занимается этим. Я нашел этот фрагмент демонстрационного кода на сайте. Дело в том, что он не выдает желаемый результат, как в этом посте: Почему не работает пример ZeroMQ? .

Всякий раз, когда я пытался запустить код, он зависает и ничего не выходит из него. Я даже не могу комментировать и задавать свой вопрос там, в посте выше, потому что мой кредит недостаточно велик.

Для вашей информации, я пытаюсь запустить код на компьютере Windows 10.

Я полагаю, что я изменил настройку входящих и исходящих соединений TCP на брандмауэре, и я прочитал, что нужно было сделать с Win-10. Я также подумал, что, возможно, мне следует изменить способ записи каталога с «//» на «\\». Тоже не сработало. Кроме того, я попытался изменить локальный tcp на «tcp://127.0.0.1:5555», но все равно этого не произошло.
Вот код,

import time
import zmq

context = zmq.Context()
socket=context.socket(zmq.REP)
socket.bind("tcp://*:5555")

while True:
    message=socket.recv()
    print("Received request: %s" % message)

    time.sleep(1)
    print("test")
    socket.send(b"World")

import zmq

context = zmq.Context()

print("Connecting to hello world server...")
socket = context.socket(zmq.REQ)
socket.connect("tcp://*:5555")

for request in range(10):
    print("Sending request %s..." % request)
    socket.send(b"Hello")

    message = socket.recv()
    print("Received reply %s [%s]" % (request, message))

Любое предложение будет очень ценится.

1 Ответ

1 голос
/ 04 марта 2020

В случае, если кто-то никогда не работал с ZeroMQ,
здесь можно вначале насладиться "принципами ZeroMQ * менее чем за пять секунд"
, прежде чем углубляться в детали



Q : " Почему ZeroMQ демонстрационный код не работает на Win10? "

Из-за этого SLO C:

socket.connect( "tcp://*:5555" ) # production-grade code always ERROR checks a call

Этот вызов должен был указывать tcp:// -TransportClass действительное значение address:port до go и попытка .connect(), которая должна быть неудачной из-за вышеприведенной попытки сделать попытку "*:port"

Отремонтируйте его, и вы должны быть готовы отправиться в прекрасные сады дзен-нуля.

...