- 浏览: 177476 次
- 性别:
- 来自: 南京
-
最新评论
-
chuqingq:
补充一个讨论的链接:http://www.cppblog.co ...
epoll的ET和LT两种模式对比及注意事项 -
ahat1195:
勍
勍 .
erlang性能统计 -
chuqingq:
linux不需要
解决EADDRINUSE方法之一:修改操作系统设置 -
langzhe:
对于linux 电脑需要重启吗?
解决EADDRINUSE方法之一:修改操作系统设置 -
jigloo:
erlang-mbcs http://code.google. ...
erlang中字符编码转换
文章列表
autotools使用
- 博客分类:
- lang/c&c++
autotools总结
最后需要两项,(1)configure脚本,(2)Makefile.in
(1)configure = autoconf + (1.1)configure.ac + (1.2)aclocal.m4
(1.2)aclocal.m4 = aclocal + (1.1)configure.ac
(2)Makefile.in = automake + (2.1)Makefile.am
可选:
(1.1)configure.ac = autoscan + 手工修改
http://blog. ...
【记录】lubuntu安装配置
- 博客分类:
- DevEnv
# 输入法:先安装fcitx; 然后安装fcitx-googlepinyin。 OK。
# 字体:lubuntu通过gnome-font-viewer安装字体。
# chromium+flash
sudo apt-get update
sudo apt-get install chromium-browser
sudo apt-get install pepperflashplugin-nonfree
sudo update-pepperflashplugin-nonfree --install
卸载命令:
sudo apt-get rem ...
ET模式:
因为ET模式只有从unavailable到available才会触发,所以
1、读事件:需要使用while循环读取完,一般是读到EAGAIN,也可以读到返回值小于缓冲区大小;
如果应用层读缓冲区满:那就需要应用层自行标记,解决OS不再通知可读的问题
2、写事件:需要使用while循环写到EAGAIN,也可以写到返回值小于缓冲区大小
如果应用层写缓冲区空(无内容可写):那就需要应用层自行标记,解决OS不再通知可写的问题。
LT模式:
因为LT模式只要available就会触发,所以:
1、读事件:因为一般应用层的逻辑是“来了就能读”,所以一般没有问题,无需wh ...
C++开源项目
- 博客分类:
- lang/c&c++
C++开源项目
1、网络:libev
2、数据库:mysql
3、日志:glog、log4cpp
4、读取配置:??
5、内存池:jemalloc、tcmalloc
6、内部RPC:protobuf
google开源项目
- 博客分类:
- lang/c&c++
Google开源项目
C++
breakpad:崩溃报告系统
gflags:命令行标记处理
****glog:应用级日志记录框架
****googletest:单元测试框架
****gperftools:性能相关的工具,包括tcmalloc、heap-checker、heap-profiler、cpu-profiler
****googlemock:mock技术,在c++单元测试可以随意修改函数行为的技术。
****sparse hash:节省内存的hash-map
omaha:google update
****protobuf
chrome
1、et ...
nginx模块开发-hello world
- 博客分类:
- server
参考 http://www.162cm.com/p/ngx_ext.html
nginx调试
1. configure --with-debug ...
2. 编译安装
3. nginx.conf error_log /path/to/errorlog debug;
此外,还可以增加daemon off的配置,让nginx把信息都打印到控制台。
hello world模块开发
1、在nginx.conf配置文件中增加location /hello { echo "hello world" }命令
2、创建模块目录,以及config文件、.c文件 ...
http://blog.csdn.net/wangwh485/article/details/6689836
TCP滑动窗
- 博客分类:
- lang/c&c++
转:http://blog.csdn.net/louiswang2009/article/details/7773467
TCP使用滑动窗口协议来实现流量控制。该协议允许发送方在停止并等待
确认前可以连续发送多个分组。由于发送方不必每发一个分组就停下来等
待确认,因此该协议可以加速数据传输。
http://www.cnblogs.com/fengmk2/archive/2008/04/21/1163766.html
先来看个例子:
def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '---------------------------------------'if __name__ == '__main__': foo(1,2,3,4) foo(a=1,b=2,c=3) foo(1,2,3,4, a=1 ...
windows下查看某个端口被谁使用
- 博客分类:
- server
D:\work\33.LoadSpace\SVN\05.Code\LoadGen\LoadGen\bin>netstat -ano|find "7879"
TCP 0.0.0.0:7879 0.0.0.0:0 LISTENING 11980
D:\work\33.LoadSpace\SVN\05.Code\LoadGen\LoadGen\bin>tasklist | find "11980"
erl.exe 1198 ...
依次:
1、特定的HTTP报文类型,不允许带有主体。因为Content-Length是对实际没有发出来的主体进行计算的,所以需要被忽略。
例如Head的响应、1XX、204、304等。
2、Transfer-Encoding:chunk。
3、Content-Length:不能和Transfer-Encoding同时存在
4、multipart/byteranges:不能和Content-Length同时存在
5、服务端连接关闭。
#include <stdio.h>
#include <stddef.h>
// #define offsetof(s, m) (size_t)&(((s *)0)->m)
struct A
{
int a;
int b;
};
int main()
{
printf("%d\n", offsetof(struct A, b));
return 0;
}
http://blog.csdn.net/pengzhixi/articl ...
nginx源码阅读
- 博客分类:
- lang/c&c++
# 架构
## 架构:
代码结构
事件机制
event框架和非阻塞模型: http://code.google.com/p/wcr/wiki/Nginx
nginx的worker进程的主要工作在ngx_worker_process_cycle函数中实现,worker线程调用ngx_process_events_and_timers函数,捕获事件,分发事件。
其中:
1、(开启accept_mutex的情况)调用ngx_enable_accept_events()侦听accept ...