- 博客(10)
- 资源 (3)
- 收藏
- 关注

原创 陈硕博客文章合集下载(2013-02-01更新)
我的邮箱: giantchen_AT_gmail_DOT_com 推特帐号 @bnu_chenshuo新浪微博 weibo.com/giantchen 我不使用即时聊天工具。也请不要用 CSDN 短消息或者留言功能跟我联系。由于 CSDN 博客改版之后不再支持 Live Writer,原有的博客文章也出现代码格式错乱等问题,因此建议同时留意我的另外一个博客:http://www.cnblogs
2011-02-24 20:54:00
42528
32
原创 为什么 muduo 的 shutdown() 没有直接关闭 TCP 连接?
今天收到一位网友来信:在 simple 中的 daytime 示例中,服务端主动关闭时调用的是如下函数序列,这不是只是关闭了连接上的写操作吗,怎么是关闭了整个连接?陈硕答复如下:Muduo TcpConnection 没有提供 close,而只提供 shutdown ,这么做是为了收发数据的完整性。
2011-02-25 21:30:00
12677
8
原创 Muduo 网络编程示例之四:Twisted Finger
Python Twisted 是一款非常好的网络库,它也采用 Reactor 作为网络编程的基本模型,所以从使用上与 muduo 颇有相似之处。(当然,muduo 没有 deferreds)Finger 是 twisted 文档的一个经典例子,本文展示如何用 muduo 来实现最简单的 finger 服务端。限于篇幅,只实现 finger01~07。代码位于 examples/twisted/finger 。
2011-02-23 21:34:00
7416
3
原创 C++ 工程实践(2):不要重载全局 ::operator new()
对于现实生活中的 C++ 项目,重载 ::operator new() 几乎没有用武之地,因为很难处理好与程序所用的 C++ library 的关系。如果确实需要,我们可以从 malloc 层面入手,彻底而全面地替换内存分配器。
2011-02-22 01:23:00
20068
28
原创 C++ 工程实践(1):慎用匿名 namespace
匿名 namespace (anonymous namespace 或称 unnamed namespace) 是 C++ 的一项非常有用的功能,其主要目的是让该 namespace 中的成员(变量或函数)具有独一无二的全局名称,避免名字碰撞 (name collisions)。一般在编写 .cpp 文件时,如果需要写一些小的 helper 函数,我们常常会放到匿名 namespace 里。muduo 0.1.7 中的 muduo/base/Date.cc 和 muduo/base/Thread.cc 等处
2011-02-15 22:56:00
36164
58
原创 C++ 多线程系统编程精要
这是一套紧凑的 PPT,基本上每一张幻灯片都可以单独写一篇博客,但是我没有那么多时间一一展开论述,只能把结论和主要论据列了出来。
2011-02-12 18:42:00
31757
29
原创 Muduo 网络编程示例之二:Boost.Asio 的聊天服务器
这是《Muduo 网络编程示例》系列的第二篇文章。 本文讲介绍一个与 Boost.Asio 的示例代码中的聊天服务器功能类似的网络服务程序,包括客户端与服务端的 muduo 实现。这个例子的主要目的是介绍如何处理分包,并初步涉及 Muduo 的多线程功能。
2011-02-04 08:58:00
22165
11
原创 Muduo 网络编程示例之一:五个简单 TCP 协议
这是《Muduo 网络编程示例》系列的第一篇文章。本文将介绍五个简单 TCP 网络服务协议的 muduo 实现,包括 echo (RFC 862)、discard (RFC 863)、chargen (RFC 864)、daytime (RFC 867)、time (RFC 868),以及 time 协议的客户端。以上五个协议使用不同的端口,可以放到同一个进程中实现,且不必使用多线程。
2011-02-02 12:59:00
19979
12
原创 Muduo 网络编程示例之零:前言
我将会写一系列文章,介绍用 muduo 网络库完成常见的 TCP 网络编程任务。这些例子都比较简单,逻辑不复杂,代码也很短,适合摘取关键部分放到博客上。其中一些有一定的代表性与针对性,比如“如何传输完整的文件”估计是网络编程的初学者经常遇到的问题。
2011-02-02 00:58:00
39830
34
当析构函数遇到多线程── C++ 中线程安全的对象回调 PDF
2010-01-23
当析构函数遇到多线程── C++ 中线程安全的对象回调
2010-01-22
《当析构函数遇到多线程》PPT
2010-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人