【发布时间】:2018-07-31 18:09:12
【问题描述】:
场景:需要验证命令行参数并将其转换为套接字/TCP 地址。参数可以是 IPv4 地址、IPv6 地址和主机名的任意组合。
目前我们正在使用 getaddrinfo。它收集了我能想到的所有错误,除了一种情况:一个有效的 IPv4 地址后跟一些垃圾。
示例:“127.0.0.1 abc” (用引号括起来的参数,所以 C 看到一个字符串。)。
关于如何解决这个问题的任何建议?有没有比 getaddrinfo() 更一致地检测错误的替代方法?是否应该在 getaddrinfo 之前调用一些标准验证例程?
或者我是否将可能不完整的验证拼凑在一起?
【问题讨论】:
标签: c getaddrinfo