gpt4 book ai didi

python - 如何使用 zmq/zeromq 从传递给 python 的字符串表示(字节数组)中获取整数/ float ?

转载 作者:行者123 更新时间:2023-11-28 05:59:35 26 4
gpt4 key购买 nike

我正在使用一个 C++ 服务器和一些带有 zmq ( ZeroMQ ) 库的 Python 客户端。我想向客户发送一个 float 和一个 integer

我已经通读了 zmq 的手册,但是我在从 C++ 代码发送 char array 以外的任何东西时遇到问题, python 客户端不能将其解释为 integerfloat

我的 C++ 代码如下所示:

//  Socket to talk to clients
void *context = zmq_ctx_new();
void *responder = zmq_socket(context, ZMQ_REP);
int rc = zmq_bind(responder, "tcp://*:5555");
int msg_cnt = 0;

while (1) {
char data[] = "M3:155";
sendCommand(responder, data);
}

static void sendCommand(void* r, char* cmd) {

static int n;
char buffer[10];
zmq_recv(r, buffer, 10, 0);

zmq_send(r, cmd, sizeof(cmd), 0);
std::cout << std::to_string(n++) << ". command sent." << std::endl;

Sleep(1);
}

Python 客户端是这样的:

context = zmq.Context()

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

#print("Sending request %s ")
socket.send(b"I am here.")

# Get the reply.
message = socket.recv()
#message = b"M5:-"
print("Received reply [%s]" % (message))

match = re.match(b'.*(M\d+):(\d+)', message)

print ("Command is: ", match.group())
print ("Motor: ", match.group(1))
print ("Target Angle: ", match.group(2))

python 输出:

收到回复[b'M3:155\x00\xcc']
命令是:b'M3:155'
电机:b'M3'
目标角度:b'155'

如何将 b'155' 解析为 intfloat

提前致谢!

最佳答案

嗯...

3>> float(b'155')
155.0

关于python - 如何使用 zmq/zeromq 从传递给 python 的字符串表示(字节数组)中获取整数/ float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33542786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com