摘要:
简介: 很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的“服务器推”方案,着重介绍了 Comet - 使用 HTTP 长连接、无须浏览器安装插件的两种“服务器推”方案:基于 AJAX 的长轮询方式;基于 iframe 及 htmlfile 的流方式。最后分析了开发 Comet 应用需要注意的一些问题,以及如... 阅读全文
摘要:
大多数脚本语言都有here document, 因为它太有用了。 为什么有用? 你受得了 C “”字符串里不断的 \” \t \r 等解引用吗,还有 多行字符串的拼接 “a”"b”。所以我讨厌 C的字符串处理,更讨厌用C来写 cgi。 here document 让一切都清静了。 作为历史悠久的bash也不例外。 cat << EOF ok , baby EOF 我经常使用 here docu... 阅读全文
摘要:
使用TCP_DEFER_ACCEPT可以减少用户程序hold的连接数,也可以减少用户调用epoll_ctl和epoll_wait的次数,从而提高了程序的性能。 设置listen套接字的TCP_DEFER_ACCEPT选项后, 只当一个链接有数据时是才会从accpet中返回(而不是三次握手完成)。 使用方法: #include <netinet/tcp.h> int timeout=1; sets... 阅读全文
摘要:
来自Linus Torvalds的讨论: [url]https://groups.google.com/group/linux.kernel/browse_thread/thread/b70bffe9015a8c41/ed9c0a0cfcd31111[/url] 又,[url]http://kerneltrap.org/Linux/Further_Oops_Insights[/url] ) ... 阅读全文
摘要:
我们知道ldd开查看程序依赖的 动态库 已经 为解决的符号。但运行时加载过程去没有办法知道。这就需要用到LD_DEBUG LD_DEBUG 是 glibc 的 loader 为了调试而设置的一个环境变量。 通过设置这个环境变量,可以调试动态库的 加载过程。 设置 LD_DEBUG 环境变量获得更多信息: $ LD_DEBUG=help ls Valid options f... 阅读全文
摘要:
Playing with ptrace, Part Iby Pradeep Padala p_padala@yahoo.com http://www.cise.ufl.edu/~ppadalaCreated 2002-11-01 02:00 翻译: Magic.D E-mail: adamgic@163.com 译者序: 在开发Hust Online Judge的过程中,查阅了不少资料,关于调试器... 阅读全文
摘要:
Playing with ptrace, Part IIby Pradeep Padala p_padala@yahoo.com http://www.cise.ufl.edu/~ppadalaCreated 2002-11-01 02:00 翻译: Magic.D E-mail: adamgic@163.com 在第一部分中我们已经看到ptrace怎么获取子进程的系统调用以及改变系统调用的参数。... 阅读全文
摘要:
This tutorial will show you how to manually rebuild a backtrace with GDB on x86 using the stack frame pointer and current instruction pointer. Consider the following gdb backtrace: It's pretty clear t... 阅读全文
摘要:
前言 从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,但是由于将函数返回地址这样的重要数据保存在程序员可见的堆栈中,因此也给系统安全带来了极大的隐患。 历史上最著名的缓冲区溢出攻击可能要算是1988年11月2日的... 阅读全文
摘要:
以堆栈溢出为代表的缓冲区溢出已成为最为普遍的安全漏洞。由此引发的安全问题比比皆是。早在 1988 年,美国康奈尔大学的计算机科学系研究生莫里斯 (Morris) 利用 UNIX fingered 程序的溢出漏洞,写了一段恶意程序并传播到其他机器上,结果造成 6000 台 Internet 上的服务器瘫痪,占当时总数的 10%。各种操作系统上出现的溢出漏洞也数不胜数。为了尽可能避免缓冲区溢出漏洞被攻... 阅读全文