boost是否具有使用ntohl / htonl / ntohs / htons类型函数的可移植方式?

时间:2010-08-06 09:55:13

标签: c++ boost udp

我使用UDP特别是boost :: asio :: ip :: udp :: socket套接字如果有帮助吗?

什么是头文件?

在boost下使用UDP处理网络字节排序需要哪些标头/类?

4 个答案:

答案 0 :(得分:11)

刚刚发现#include <boost/asio.hpp>就足够了,因为它会引入所有与平台相关的标头,并提供对htonl/ntohl的访问权限,这正是我所需要的。

感谢大家的建议。

答案 1 :(得分:6)

升压:: ASIO ::详细:: socket_ops :: host_to_network_short 在boost / asio / detail / socket_ops.hpp

答案 2 :(得分:2)

POSIX.1-2001标准是<sys/types.h>&amp; <netinet/in.h>,在Windows上,您有2个堆栈可供选择<winsock2.h><ws2tcpip.h>&amp; <winsock2.h>,后者现在是首选,因为它支持Unicode命名,但请注意它们不兼容。

2001年之前的平台可能需要其他标头,例如<arpa/inet.h>

答案 3 :(得分:1)

对于Windows:

  

http://msdn.microsoft.com/en-us/library/ms738556(VS.85).aspx

对于* nix:

  

http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/apis/htonl.htm

快速搜索并没有提供任何合理的提升 Hopefuuly别人会找到一些东西。