流式文件描述符
基于POSIX标准的文件描述符,在Asio中有对应的类实现了对其的同步/异步读写操作,例如pipe,标准输入输出,支持多种设备等。
在实际代码中,我们要实现读写操作,我们会创建以下对象:
posix::stream_descriptor in(my_io_service, ::dup(STDIN_FILENO));
posix::stream_descriptor out(my_io_service, ::dup(STDOUT_FILENO));
上述对象是同步和异步的流式对象,你可以使用 read(), async_read(), write(), async_write(), read_until() or async_read_until()等自由函数来操作它们。
参见
posix::stream_descriptor, posix::basic_stream_descriptor, posix::stream_descriptor_service, Chat example (C++03), Chat example (C++11)
注意
POSIX文件流式描述符只能在支持该API的操作系统使用,在编译时,你可以调用ASIO_HAS_POSIX_STREAM_DESCRIPTOR来确定平台是否支持。