我是Rust的新手,但对编程还不熟悉。所以我尝试通过TCPStream将数据发送到服务器(服务器能够以500 Hz的频率响应机器人)
我从制造机器人的公司那里得到了一个可行的例子。
问题在于:几天后,我一遍又一遍地阅读文档,用Wireshark测量了一个特定的情况。
所以我知道工作的python-program发送00 05 56 00 02到服务器是正确的
05 =数据包大小,56 =要执行的请求操作,02 =要请求的数据
我 rust 程序发送05 00 56 02 00,我不知道为什么
第一个
[edit]好的,我尝试用
let options = bincode::DefaultOptions::new().with_big_endian();
但输出仍然相同...因此选项为
- 我无法理解文档
- 它不工作
你对默认字节序的理解是正确的...所以我希望这能有所帮助。也许我只是做错了?
[edit]成功了!谢谢
我插
let serialize_options = bincode::DefaultOptions::new()
.with_fixint_encoding()
.with_big_endian();
和编辑
let payload_byte: Vec<u8> = serialize_options.serialize(&payload).unwrap();
现在我发送了00 05 56 00 02并从服务器得到了答复
下一步将使用新知识进行反序列化
1条答案
按热度按时间j8ag8udp1#
正在插入
和编辑
为我工作
非常感谢你