【发布时间】:2010-10-16 09:11:13
【问题描述】:
为什么 socket_base 没有 send() 方法?基本上,我想使用 boost::asio 的套接字,比如 linux 套接字描述符:无论底层套接字是 UDP 还是 TCP 都没有关系,你可以调用 read()、write()、sendto() 等...在他们身上。
除了围绕 asio 的 udp 和 tcp 套接字类编写包装类之外,还有更合适的解决方案吗?
【问题讨论】:
标签: c++ boost-asio
为什么 socket_base 没有 send() 方法?基本上,我想使用 boost::asio 的套接字,比如 linux 套接字描述符:无论底层套接字是 UDP 还是 TCP 都没有关系,你可以调用 read()、write()、sendto() 等...在他们身上。
除了围绕 asio 的 udp 和 tcp 套接字类编写包装类之外,还有更合适的解决方案吗?
【问题讨论】:
标签: c++ boost-asio
您需要使用特定类型的套接字,例如boost::asio::ip::tcp::socket,它是一个基于流的TCP 套接字,或boost::asio::ip::udp::socket,它用于数据报。 socket_base 类只是一个存储通用功能的基类。实际的套接字类包含您正在寻找的所有传输函数,例如发送和接收函数。
正如您在documentation 中看到的,每个套接字类型都有send 和receive 函数。
【讨论】: