条款14:在资源管理类中小心coping行为
在前一个条款,我们提出了RAII(资源获得即是初始化)技术,通过“对象管理资源”达到防止资源泄露,对于通过堆分配的内存,可以借助指针指针实现,但系统中有很多资源不是堆分配:文件句柄,锁,网络套接字。这些资源就需要自己实现对象来管理。...
分类:
其他好文 时间:
2014-06-05 10:48:28
阅读次数:
210
Java 序列化Serializable详解(附详细例子)
1、什么是序列化和反序列化
Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。
2、什么情况下需要序列化
a)当你想把的内存中的对象保存到一个文件中或者数据库中时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通...
分类:
编程语言 时间:
2014-06-03 02:21:02
阅读次数:
259
理论:
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
demo 一个连接由它的两个端点标识,这样的端点称为套接
套接字是支持TCP/IP协议的网络通信的基本操作单元。 可以将套接字看作不同主机间的进程进行双向通信的端点。 上图连接1的一对套接字为:
(192.168.2.23,5000)和(192.168.2.122,8888) 上图...
分类:
其他好文 时间:
2014-05-29 09:06:40
阅读次数:
393
流(stream)是对串行传输的数据(以字节为单位)的一种抽象表示,底层的设备可以是文件、外部设备、主存、网络套接字等。 流提供三种基本操作:
写入:将数据从内存缓冲区传输到外部源。 读取:将数据从外部源传输到内存缓冲区。 查找:重新设置流的当前位置,以便随机读写。需要注意的...
分类:
其他好文 时间:
2014-05-27 18:06:07
阅读次数:
389
在解释Java中FileInputStream和FileReader的具体区别之前,我想讲述一下Java中InputStream和Reader的根本差异,以及分别什么时候使用InputStream和Reader。实际上,
InputStream和Reader都是抽象类,并不直接地从文件或者套接字(s...
分类:
编程语言 时间:
2014-05-26 11:54:31
阅读次数:
302
上一篇博文可以实现基本的网络通信,但是只能服务给一个人,我们可以通过给每个客户端fork()一个子进程,来实现一对多的服务。
方法:
客户端连到服务器以后,服务器启动一个新创建的套接字对话,也就是说父进程可以继续连接下一个客户端,而子进程来需要处理
accept()创建的副套接字,实现通信功能。父进程克隆子进程后可以关闭副套接字close(connect_d),而子进程可以关闭主监听套...
分类:
其他好文 时间:
2014-05-26 05:02:14
阅读次数:
228
ls
-l:长格式
文件类型:
-:普通文件 (f)
d: 目录文件
b: 块设备文件 (block)
c: 字符设备文件 (character)
l: 符号链接文件(symbolic link file)
p: 命令管道文件(pipe)
s: 套接字文件(socket)
文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
文件硬链接的次数
文件的属主(o...
分类:
其他好文 时间:
2014-05-25 01:55:01
阅读次数:
262
服务器连接网络四部曲。
为了与外界沟通,c程序用数据流读写字节,比较常用的数据流有标准输入、标准输出、文件等。
如果想写一个与网络通信的程序,就需要一种新的数据流----------套接字。
使用套接字与客户端程序通信前,服务器需要历经四个阶段:绑定、监听、接受、开始。
1.绑定端口
计算机可能同时运行多个服务器程序,为了放置不同的对话混淆,每项服务必须使用不...
分类:
其他好文 时间:
2014-05-25 01:01:09
阅读次数:
317
编写一个简易的HTTP代理服务器,步骤其实很简单:
1.设置一个监听套接字gListen_Socket;
2.每当接受到客户端的请求之后,我们构建一个新的线程来继续监听客户端的请求,然后原线程处理用户请求;
3.先从用户发送的HTTP请求中解析出服务器端的主机地址,然后通过另外一个线程连接到服务器;
4.本程序充当中介,不断转发来自两端的消息;...
分类:
其他好文 时间:
2014-05-24 23:43:47
阅读次数:
534