在 C++ 中,如果我有一个套接字,我如何从它创建一个 ostream 对象?
我用谷歌搜索了一些例子: http://members.aon.at/hstraub/linux/socket++/docu/socket++_10.html
我已经试过了:
sockbuf sb(sockfd);
std::ostream outputStream(&sb);
但我找不到 .h 文件和用于链接“sockbuf”的库。那是标准 c++ 库的一部分吗?
最佳答案
您找到的网站是第三方非标准库。没有标准的 C++ 套接字库。
但是,如果您想要最接近标准(而且功能强大!)的解决方案,您应该尝试 Boost.Asio .它已被提议包含在标准库 (TR2) 中。这是一个基于 iostream 的示例:
boost::asio::ip::tcp::iostream stream("www.example.org", "http");
stream << "GET / HTTP/1.0\r\nHost: www.boost.org\r\n\r\n" << std::flush;
std::string response;
std::getline( stream, response );
但是,如果使用 Asio 的 Proactor 进行异步操作,您将获得更多。
关于c++ - 如何从套接字创建 'ostream'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204458/