异步客户端/服务端
现在,是比较有趣(也比较难)的异步!
当查看图表时,你需要知道Boost.Asio代表由Boost.Asio执行的一个异步调用。例如do_read(),Boost.Asio和on_read()代表了从do_read()到on_read()的逻辑流程,但是你永远不知道什么时候轮到on_read(),你只是知道你最终会调用它。...
分类:
编程语言 时间:
2014-10-24 11:04:03
阅读次数:
262
同步服务端
同步服务端也相当简单。它需要两个线程,一个负责接收新的客户端,另外一个负责处理已经存在的客户端。它不能使用单线程;等带一个新的客户端是一个阻塞操作,所以我们需要另外一个线程来处理已经存在的客户端。...
分类:
编程语言 时间:
2014-10-21 10:22:06
阅读次数:
324
客户端和服务端
在这一章节,我们会深入学习使用Boost.Asio建立不平凡的客户端和服务端应用。你可以运行和测试它们,当你理解时,你可以用它们做框架来构造你自己的应用。...
分类:
编程语言 时间:
2014-10-20 10:08:22
阅读次数:
246
1. RCF: 纯c++的RPC, 不引入IDL, 大量用到boost,比较强大.2. casocklib: protobuf + asio 较完善实现3. eventrpc: protobuf + libevent 较完善实现4. evproto: protobuf + libevent 简单实现...
分类:
编程语言 时间:
2014-10-18 16:51:20
阅读次数:
365
//// process_per_connection.cpp// ~~~~~~~~~~~~~~~~~~~~~~~~~~//// Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distr...
分类:
其他好文 时间:
2014-10-18 00:35:21
阅读次数:
279
TCP异步服务端
核心功能和同步服务端的功能类似,如下:
class talk_to_client : public boost::enable_shared_from_this
, boost::noncopyable {
typedef talk_to_client s...
分类:
编程语言 时间:
2014-10-17 11:04:34
阅读次数:
302
PS:昨晚上账号被盗了,好在客服态度很好,今天培训一整天,所以现在才发布
回显服务端/客户端
在这一章,我们将会实现一个小的客户端/服务端应用,这可能回事你写过的最简单的客户端/服务端应用。这就是回显应用,一个把客户端写过来的任何内容回显给其本身,然后关闭连接的的服务端。这个服务端可以处理任何数量的客户端。每个客户端连接,然后发送一个消息。服务端接收到全部小时然后发送回去。在那之后,服务端关闭...
分类:
编程语言 时间:
2014-10-16 21:42:13
阅读次数:
323
// daemon.cpp// 该例子演示结合ASIO和POSIX标准系统的fork系统调用,产生一个守护进程。//时间服务器?// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Dis...
分类:
系统相关 时间:
2014-10-16 02:11:31
阅读次数:
583
保持活动
假如,你需要做下面的操作:
io_service service;
ip::tcp::socket sock(service);
char buff[512];
...
read(sock, buffer(buff));
在这个例子中,sock和buff的存在时间都必须比read()调用的时间要长。也就是说,在调用read()返回之前,它们都必须有效。这就是你期望的;你传给...
分类:
编程语言 时间:
2014-10-15 09:51:30
阅读次数:
332
异步工作
异步工作不仅仅指用异步地方式接受客户端到服务端的连接,异步从一个socket读取或者写入到socket。它包含了所有可以异步执行的操作。...
分类:
编程语言 时间:
2014-10-13 09:31:19
阅读次数:
301