仔细看了一下你的命令:
1.如果想指定 clientid,不要用 -i “pub-client-%c”
应该是: --shortids --prefix “pub-client-”
2. 如果你想让pub 出来的消息对应让 sub 接收,不应该用-t “client-%c”
%c 是自己 clientid 的意思,你现在的命令就是发布一条没有任何人订阅的 client-${clientid} 应该不是你想要的效果。
应该用:
-t "client/%i
我用这 2 个命令在 mac 上测试是 ok 的。
docker run -it emqx/emqtt-bench pub -c 1000 --prefix "pub-client" --shortids -t "client/%i" -h "192.168.110.74" -p 2883 -I 500 -u admin -P public -m "test"
docker run -it emqx/emqtt-bench sub -c 1000 --prefix "sub-client" --shortids -t "client/%i" -h "192.168.110.74" -p 2883 -u admin -P public