是否有一个很好的高级库可以用于IP地址的操作?我需要做的事情是:
我可以使用低级别的inet_ntop()等等,但是是否有一个更好的库来处理这些更好、更快(c/c++/python)?
发布于 2011-05-02 13:20:49
对于C++,标准的高级别答案将是boost.asio。具体来说,要将字符串转换为具有字符串的IP地址,为了获得ip地址的字符串表示形式,它具有字符串。
请检查ip地址对象的其他建设者 --使用原始字节可能比字符串更有效。
发布于 2011-05-02 13:09:40
如果您正在编写套接字应用程序,那么地址操作不太可能成为您最重要的考虑因素。当你有网络I/O需要担心的时候,不要浪费时间在这上面。
发布于 2011-05-03 09:22:33
inet_ntop
和inet_pton
不支持IPv6区域,因此推荐的API只是getaddrinfo
和getnameinfo
,它们方便地与IP版本无关。
传递NI_NUMERICHOST
等标志,以强制IP地址验证而不需要DNS解析。
http://msdn.microsoft.com/en-us/library/ms738532(VS.85).aspx
示例:
char* input_str
struct addrinfo *result = NULL, hints;
ZeroMemory( &hints, sizeof(hints) );
hints.ai_flags = AI_NUMERICHOST;
hints.ai_family = AF_UNSPEC;
dwRetval = getaddrinfo( input_string, NULL, &hints, &result );
if ( dwRetval != 0 ) {
/* failure */
}
https://stackoverflow.com/questions/5857320
复制相似问题