简体   繁体   中英

Does boost have portable way to use ntohl/htonl/ntohs/htons type functions?

I am using UDP in particular boost::asio::ip::udp::socket sockets if that helps?

What is the header file?

What headers/classes do I need to handle network byte ordering with the UDP under boost?

Just found it is enough to #include <boost/asio.hpp> as this pulls in all the platform dependent headers and gives access to htonl/ntohl which is exactly what I need.

Thanks all for the suggestions.

在boost / asio / detail / socket_ops.hpp中的boost :: asio :: detail :: socket_ops :: host_to_network_short

POSIX.1-2001 standard is <sys/types.h> & <netinet/in.h> , on Windows you have 2 stacks to choose from <winsock2.h> or <ws2tcpip.h> & <winsock2.h> , the latter is now the preferred choice as it supports Unicode naming but note that they are incompatible.

Platforms pre-2001 might require other headers such as <arpa/inet.h> .

For Windows:

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

For *nix:

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

A quick search did not provide anything resonable in boost.
Hopefuuly somebody else will find somthing.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM