条款14:在资源管理类中小心coping行为
在前一个条款,我们提出了RAII(资源获得即是初始化)技术,通过“对象管理资源”达到防止资源泄露,对于通过堆分配的内存,可以借助指针指针实现,但系统中有很多资源不是堆分配:文件句柄,锁,网络套接字。这些资源就需要自己实现对象来管理。...
分类:
其他好文 时间:
2014-06-05 10:48:28
阅读次数:
210
测试运行平台:CentOS 6.5发行版,内核版本3.11
1. Linux抓包源程序
在OSI七层模型中,网卡工作在物理层和数据链路层的MAC子层。
进行网络通信时,源主机通过socket(或其它)应用程序产生IP报文,经过各个OSI层层封装,数据包以Ethernet帧的形式进入物理层。Ethernet帧包含源主机地址、IP报文、目标地址(IP地址、端口号或映射的6字节...
分类:
系统相关 时间:
2014-06-03 02:45:05
阅读次数:
428
TCP流量控制的目的是限制发送端的发送速率,使得接收方能够及时接收。TCP主要是通过滑动窗口来实现流量控制的。实际上,发送窗口的大小不仅受接收窗口rwnd的大小的限制,还受拥塞窗口cwnd窗口的限制,为了实现点到点的流量控制,本文假设拥塞窗口足够大(即网络链路比较流畅),仅考虑发送窗口swnd受接收窗口的限制。...
分类:
其他好文 时间:
2014-06-03 02:39:49
阅读次数:
543
TCP是一种面向连接的、可靠的、基于字节流的协议。可靠性指的是发送应用程序把数据流交付给TCP后,能够把数据流按序地、无差错地交给接收端的接收端的应用程序。TCP通过差错控制来提供可靠性,TCP差错控制包括:(1)检测并重传受损伤的报文段;(2)重传丢失的报文段;(3)丢弃重传的报文段并重传该报文段的ACK;(4)保证接收缓冲区的报文段按序交给接收端的应用程序...
分类:
其他好文 时间:
2014-06-03 02:34:03
阅读次数:
564
Java 序列化Serializable详解(附详细例子)
1、什么是序列化和反序列化
Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。
2、什么情况下需要序列化
a)当你想把的内存中的对象保存到一个文件中或者数据库中时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通...
分类:
编程语言 时间:
2014-06-03 02:21:02
阅读次数:
259
参考了 ss的源代码
以及 netlink相关资料:http://blog.csdn.net/scdxmoe/article/details/27711205
实现结果为:
gcc netlink_dig_530_7.c -o netlink_dig_530_7
./netlink_dig_530_7
state family l.addr...
分类:
Web程序 时间:
2014-06-01 05:15:58
阅读次数:
424
理论:
http://blog.csdn.net/unbutun/article/details/3394061
进一步深入:
http://edsionte.com/techblog/archives/4134
http://edsionte.com/techblog/archives/4140
http://edsionte.com/techblog/archives/4134
...
分类:
Web程序 时间:
2014-05-31 22:27:44
阅读次数:
508
http://blog.csdn.net/dog250/article/details/6612496说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人。...
分类:
其他好文 时间:
2014-05-29 15:44:38
阅读次数:
229