开发者

Send data with boost::asio::socket_base

开发者 https://www.devze.com 2023-01-20 00:54 出处:网络
Why does socket_base not have a send() method? Basically, I would like to use boost::asio\'s sockets like linux socket descriptors: whether the underlying socket is UDP or TCP it doesn\'t matter, you

Why does socket_base not have a send() method? Basically, I would like to use boost::asio's sockets like linux socket descriptors: whether the underlying socket is UDP or TCP it doesn't matter, you can call read(), write(), sendto(), etc... on them.

Is there a more proper solution than just开发者_如何转开发 writing a wrapper class around asio's udp & tcp socket classes?


You need to use a particular type of socket, like boost::asio::ip::tcp::socket, which is a stream-based TCP socket, or boost::asio::ip::udp::socket, which is for datagrams. The socket_base class is simply a base class which stores common functionality. The actual socket classes contain all the transfer functions you're looking for, like send and receive functions.

As you can see in the documentation, each socket type has send and receive functions.

0

精彩评论

暂无评论...
验证码 换一张
取 消