如何在不知道特定IP版本的情况下创建“ IpAddr”?

乙硫

我在玩Iron,并且遇到了这个问题。

fn main() {
    let mut router = Router::new();
    let address = "127.0.0.1"; // or maybe "::1/128"
    let port = 3000;
    let ip = std::net::IpAddr::new(address); // does not exist

    Iron::new(router).http((ip, port)).unwrap();
}

http()方法采用实现的结构ToSocketAddrs(&str, u16)实现此特征,但是我更喜欢http()调用方法之前验证用户输入的有效性

我看到(std::net::IpAddr, u16)实现了此特征,但是我不知道如何构建IpAddr“不可知论的”:也许用户写了一个IPv4地址,也许是一个IPv6。

有没有一种方法IpAddr只能从字符串创建我认为这是可能的,因为我可以给它一个(&str, u16)

卢卡斯·卡尔伯特(Lukas Kalbertodt)

您的朋友是FromStr标准库中特征。它抽象了可以从字符串创建的类型。正如你所看到的Ipv4AddrIpv6Addr并且IpAddr都实现该特性!所以你可以写:

use std::str::FromStr;

let addr = IpAddr::from_str("127.0.0.1");

或者,通过使用str::parse()方法,稍微更常见的方法:

let addr = "127.0.0.1".parse::<IpAddr>();

from_str()/parse()方法返回一个Result信号字符串是否是有效的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不知道 Outlook 版本(2010、2013、2016 等)的情况下从 Serviceapplication 登录

来自分类Dev

不知道如何在没有OutOfMemory Android的情况下创建大型阵列

来自分类Dev

如何在不知道数组长度的情况下创建数组

来自分类Dev

如何在不知道输入类型的情况下创建填充矩阵的方法

来自分类Dev

如何在不知道字段是什么的情况下创建 ElasticSearch 查询?

来自分类Dev

如何在不知道特定孩子密钥的情况下统一从Firebase检索数据

来自分类Dev

无法知道语句“(void) ipAddr; (void) port;”的用法 在 Iotivity 框架中

来自分类Dev

在不知道类名的情况下创建函数

来自分类Dev

如何在不知道挂载点的情况下知道设备UUID已挂载?

来自分类Dev

如何在不知道父键的情况下通过特定值查询Firebase数据库

来自分类Dev

如何在不知道其内容的特定子类型的情况下复制数组的内容?

来自分类Dev

Parse.com-如何在不知道密码的情况下以用户身份登录?

来自分类Dev

如何在不知道iOS中的UUID的情况下检测ibeacon设备?

来自分类Dev

CoreBluetooth框架:如何在不知道服务ID的情况下获取连接的设备?

来自分类Dev

Javascript:如何在不知道键名的情况下解析json数组?

来自分类Dev

如何在不知道包名称的情况下从adb删除应用程序?

来自分类Dev

PHP如何在不知道扩展名的情况下从URL获取图像

来自分类Dev

如何在不知道要查询哪些字段的情况下构建Django查询?

来自分类Dev

R如何在不知道长度的情况下进行for循环?

来自分类Dev

在Objectify中,如何在不知道父键的情况下通过ID加载实体?

来自分类Dev

如何在不知道bash扩展名的情况下提取各种zip文件

来自分类Dev

如何在不知道分割字符先验的情况下分割字符串?

来自分类Dev

如何在不知道它是否为数组的情况下遍历JSON属性?

来自分类Dev

如何在不知道输入大小的情况下读取输入?

来自分类Dev

如何在不知道宽度或高度的情况下最好地对矩形的角进行排序?

来自分类Dev

如何在不知道键的情况下从字典中获得价值?

来自分类Dev

如何在不知道名称的情况下访问.mat文件中的“值”?

来自分类Dev

如何在不知道速度的情况下计算轨迹角

来自分类Dev

如何在不知道确切OU的情况下进行LDAP查询

Related 相关文章

  1. 1

    如何在不知道 Outlook 版本(2010、2013、2016 等)的情况下从 Serviceapplication 登录

  2. 2

    不知道如何在没有OutOfMemory Android的情况下创建大型阵列

  3. 3

    如何在不知道数组长度的情况下创建数组

  4. 4

    如何在不知道输入类型的情况下创建填充矩阵的方法

  5. 5

    如何在不知道字段是什么的情况下创建 ElasticSearch 查询?

  6. 6

    如何在不知道特定孩子密钥的情况下统一从Firebase检索数据

  7. 7

    无法知道语句“(void) ipAddr; (void) port;”的用法 在 Iotivity 框架中

  8. 8

    在不知道类名的情况下创建函数

  9. 9

    如何在不知道挂载点的情况下知道设备UUID已挂载?

  10. 10

    如何在不知道父键的情况下通过特定值查询Firebase数据库

  11. 11

    如何在不知道其内容的特定子类型的情况下复制数组的内容?

  12. 12

    Parse.com-如何在不知道密码的情况下以用户身份登录?

  13. 13

    如何在不知道iOS中的UUID的情况下检测ibeacon设备?

  14. 14

    CoreBluetooth框架:如何在不知道服务ID的情况下获取连接的设备?

  15. 15

    Javascript:如何在不知道键名的情况下解析json数组?

  16. 16

    如何在不知道包名称的情况下从adb删除应用程序?

  17. 17

    PHP如何在不知道扩展名的情况下从URL获取图像

  18. 18

    如何在不知道要查询哪些字段的情况下构建Django查询?

  19. 19

    R如何在不知道长度的情况下进行for循环?

  20. 20

    在Objectify中,如何在不知道父键的情况下通过ID加载实体?

  21. 21

    如何在不知道bash扩展名的情况下提取各种zip文件

  22. 22

    如何在不知道分割字符先验的情况下分割字符串?

  23. 23

    如何在不知道它是否为数组的情况下遍历JSON属性?

  24. 24

    如何在不知道输入大小的情况下读取输入?

  25. 25

    如何在不知道宽度或高度的情况下最好地对矩形的角进行排序?

  26. 26

    如何在不知道键的情况下从字典中获得价值?

  27. 27

    如何在不知道名称的情况下访问.mat文件中的“值”?

  28. 28

    如何在不知道速度的情况下计算轨迹角

  29. 29

    如何在不知道确切OU的情况下进行LDAP查询

热门标签

归档