ChinaUnix.net
相关文章推荐:

boost asio udp bind

一个对象对boost网络接口的封装有一个Close()接口[code]boost::system::error_code ec; m_socket->cancel(ec); m_socket->shutdown(boost::asio::ip::tcp::socket::shutdown_both, ec); m_socket->close(ec); ......释放对象等操作[/code]觉大部分下都非常的正常, 有时候会有如下问题..... 当我调用上面代码后, 既然又收到异步消息, 说对方关闭连接,最终导致程序异常....[code]void CTcpSession::__readData() { if(m_sock...

by ruchong - C/C++ - 2010-08-13 16:17:22 阅读(2760) 回复(0)

相关讨论

用过的说说

by nizvoo - C/C++ - 2010-02-01 16:06:26 阅读(3194) 回复(1)

boost asio 发送HTTP协议 下载网页. 还没有读取完.但已经超过了设定的时段. 如何终止返回... 谁给此例子.

by ivscript - C/C++ - 2008-10-19 12:14:13 阅读(1449) 回复(0)

请问,我现在已经和客户机连上了,怎样获取它的端口?怎样主动对它发数据。 我已经有的对象 tcp::socket socket_; handler_allocator allocator_;

by lokeio - C/C++ - 2007-12-12 23:29:01 阅读(4810) 回复(4)

:em17: 有没有什么基准测试啊 ? 感觉 boost 库提供了很多好用的东西,但是貌似我接触的项目都没有使用。

by evaspring - C/C++ - 2010-10-03 22:47:39 阅读(4416) 回复(0)

NO.1 asio 读操作大总结: A. Boos::asio::read 同步读方式 void client::read_data(char * sourse , int num ) { boost::asio::read( socket_own , boost::asio::buffer( sourse , num ) ); } Buffer 可以换成 boost::streambuf 如: boost::asio::streambuf response ; boost::asio::read (socket, response ); 而 streambuf 是能过自动扩充的 。 B. boost::asio::read_until 同步方式读, 但是读到特定的字...

by asio - Linux文档专区 - 2009-08-19 16:20:25 阅读(2267) 回复(0)

一般而言我们创建用于接收error的类型大多声明如下:boost::system::error_code error 我们用这个类型去接受在函数中产生的错误如socket.connect( endpoint, error); 如果连接失败,错误类型会保存到error中,比如连接主机失败可能会返回这样的错误boost::asio::error::host_not_found;通过if (error)检测到error后,抛出异常throw boost::system::system_error(error);需要注意的是,我们的error被 转化成 system_error了显...

by asio - Linux文档专区 - 2009-08-06 10:19:51 阅读(1056) 回复(0)

boost::asio中的io_service提供了receive,read_some等收包的方法。 我用他们从网络上循环收包时遇到一个问题: 当read_some没有收到指定的长度时就会一直阻塞,除非对端关闭连接,会产生一个 boost::asio::error::eof,否则无法跳出来; 请问asio能不能像linux的read,recv等函数一样,最后返回实际接收长度? io_service ios; char buf[1024]; int len; while(1) { len = ios.read_some(boost::asio::buffer(bearer, 1024), e...

by sjh_311 - C/C++ - 2008-06-24 12:36:07 阅读(3748) 回复(3)
by youngky - C/C++ - 2012-01-12 16:32:32 阅读(4284) 回复(0)

[code]class Person { public: Person(const string& _name):name(_name){} string Name() { return name; } string name; }; int main() { Person p1("hello"); boost::bind(&Person::Name, _1)(p1); return 0; }[/code]对于这样的 bind 我不知道 该 怎么处理它的返回值, 如果是 boost::bind(&Person::Name,p1) 返回值可以是 boost::function fun = boost::bind(&Pers...

by zwjzwj19891228 - C/C++ - 2013-11-20 19:14:54 阅读(3590) 回复(7)

我使用boost中的asio方式实现一个tcp的客户端程序,我使用《boost程序库完全开放指南》中的例子改写的。 采用的方式为:主线程中启动一个子线程,用于执行io_service的相关操作,而主线程中产生待发送的数据。 我现在采用的方式是在子线程中启动一个定时器,在定时器的回调函数中定时检测“待发送数据缓冲器”,如果缓冲区中有数据就调用start_write()函数发送数据。 但是我觉得这种方式不太好,相当于一种轮询的方式,我觉得应该...

by shaohongqiang - C/C++ - 2012-05-03 09:12:49 阅读(3030) 回复(3)