English 中文(简体)
我怎样能从一个套接字创建一个输出流?
原标题:How can I create an ostream from a socket?
  • 时间:2010-02-05 01:15:59
  •  标签:
  • c++
  • sockets

如果我有一个C++套接字,我该如何从中创建一个ostream对象?

I have googled some example: http://members.aon.at/hstraub/linux/socket++/docu/socket++_10.html

而且我已经尝试过了。

 sockbuf sb(sockfd);
 std::ostream outputStream(&sb);

但我找不到用于 sockbuf 的 .h 文件和库文件链接。这是标准的 C++ 库的一部分吗?

问题回答

你找到的网站是一个第三方非标准库。没有标准的C ++套接字库。

然而,如果您想要尽可能接近标准(且功能强大!)的解决方案,则应尝试Boost.Asio。它已被提议纳入标准库(TR2)。这里有一个基于iostream的示例:

boost::asio::ip::tcp::iostream stream("www.example.org", "http");
stream << "GET / HTTP/1.0
Host: www.boost.org

" << std::flush;

std::string response;
std::getline( stream, response );

然而,如果使用Asio的Proactor进行异步操作,您将获得更多的优势。

标准的C++(至少C++98)不涉及任何网络方面的内容。因此,您必须做一些特定于平台的事情。

一些平台有IOStreams实现,允许您从文件描述符创建流。在这种情况下,请使用套接字描述符作为文件描述符。

这不是标准的C++库的一部分。在此处下载Socket++: http://members.aon.at/hstraub/linux/socket++/(它与您复制粘贴的位置相差几个目录)。





相关问题
Undefined reference

I m getting this linker error. I know a way around it, but it s bugging me because another part of the project s linking fine and it s designed almost identically. First, I have namespace LCD. Then I ...

C++ Equivalent of Tidy

Is there an equivalent to tidy for HTML code for C++? I have searched on the internet, but I find nothing but C++ wrappers for tidy, etc... I think the keyword tidy is what has me hung up. I am ...

Template Classes in C++ ... a required skill set?

I m new to C++ and am wondering how much time I should invest in learning how to implement template classes. Are they widely used in industry, or is this something I should move through quickly?

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

typedef ing STL wstring

Why is it when i do the following i get errors when relating to with wchar_t? namespace Foo { typedef std::wstring String; } Now i declare all my strings as Foo::String through out the program, ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

Window iconification status via Xlib

Is it possible to check with the means of pure X11/Xlib only whether the given window is iconified/minimized, and, if it is, how?

热门标签