我有一个一直依赖的程序,native::io::net::{htons, ntohs}但现在在Could not find 'io' in 'packet::native'. 变化似乎发生在上周的某个时间
搜索不会产生关于更改的太多信息,并且在文档中搜索htons或ntohs不会产生任何有用的信息。
在 Rust 中执行htons或执行的(新的?)标准方法是ntohs什么?
一个明显的解决方案是编写我自己的,但人们希望它在标准库中。
您可以在特征上使用from_be和函数。网络顺序是大端,所以这是等价的。to_beInt
您可以在文档中找到它们的示例用法:
http://doc.rust-lang.org/core/num/trait.Int.html#method.to_be
http://doc.rust-lang.org/core/num/trait.Int.html#method.from_be
这些现在在std::sys_common::net,但是std::sys_common是私有的。但是它们的实现src/libstd/sys/common/net.rs非常简单:
pub fn htons(u: u16) -> u16 {
u.to_be()
}
pub fn ntohs(u: u16) -> u16 {
Int::from_be(u)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1260 次 |
| 最近记录: |