【发布时间】:2021-11-18 23:49:35
【问题描述】:
我正在尝试使用 ZMQ 将多个发布者连接到一个订阅者 (python)。这是一个这样的发布者(我使用连接而不是绑定,因为订阅者绑定)。在我取消阻止下面的注释代码之前,代码可以正常工作。
然后我在 Windows 上收到此错误:
LoadError: StateError("Unknown error")
在 Ubuntu 上:
StateError("Socket operation on non-socket")
源代码:
using ZMQ
using WebSockets
using JSON3
const uri = "wss://ws.okex.com:8443/ws/v5/public"
function produce_string()
return "hi"
end
function main()
payload = Dict(
:op => "subscribe",
:args => [
Dict(
"channel" => "books50-l2-tbt",
"instType" => "Futures",
"instId" => "FIL-USD-220325",
),
],
)
# Unblock this code to produce error
# @async while true
# WebSockets.open(uri) do ws
# confirmation = true
# if isopen(ws)
# write(ws, JSON3.write(payload))
# end
# end
# end
ctx = Context()
zmq_socket = Socket(ctx, PUB)
addr = "tcp://localhost:" * string(8093)
ZMQ.connect(zmq_socket, addr)
sleep(3)
ZMQ.send(zmq_socket, "hi")
while true
my_string = produce_string()
ZMQ.send(zmq_socket, my_string)
println("sent")
sleep(1)
end
end
main()
【问题讨论】:
标签: tcp julia ipc zeromq pyzmq