当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 客户端源码分析之二: Storage LOR: black; F
 

 

 ·浮想b/s中的防御    »显示摘要«
    摘要:原文地址:http://blog.csdn.net/estyle/archive/2004/07/02/32269.aspx欢迎转载!但请注明出处(原文地址)和我的姓名:靳田谢谢啦! ^_^   尽管大家都提“防御性编程”,但我还是比较喜欢“防御”——毕竟防御不是目的,只是措施而已,过分强调难免迷失方向。   首先要弄清楚的问题是:什么是防御?为什么要进行防御?  回答第一个问题,简单地说,防御有两个主要内容,既尽量避免潜在的错误发生和尽量减小错误带来......
    摘要:第九章 方法 一、 实例构造器 1、 前面提到用new操作符创建对象时的三部曲: l 为对象分配内存 l 初始化对象的附加成员(方法表指针和syncblockindex) l 调用实例构造器初始化实例状态 在分配内存时,系统将所有内存位置均置为0值,这就是为什么字段初始化而未赋值时均为0或null值。 不调用实例构造器的情况: l 调用object.memberwiseclone()方法创建实例(分配内存;初始化附加成员;将源对象字节拷贝到新创建的对象) ......


客户端源码分析之二: Storage 类
客户端源码分析之二: storage 类

日期:2004-6-28 【相关文章:软件开发公司管理手册

作者:小马哥 【扩展阅读:Installing Oracle 10

由于 storage 类比较简单,我直接在源码基础上进行注释。掌握storage,为进一步分析 storagewrapper 类打下基础。 【扩展信息:SCJP考试认证复习笔记系列之三

 

 

几点说明:

1、  storage 类封装了对磁盘文件的读与写的操作。

2、  bt既支持单个文件的下载,也支持多个文件,包括可以有子目录。但是它并不是以文件为单位进行下载与上传的,而是以“文件片断”为单位。这可以在bt协议规范以及另一篇讲bt技术的文章中看到。所以,对于多个文件的情况,它也是当作一个拼接起来的“大文件”来处理的。例如,有文件 aaa与bbb,大小分别是 400与1000,那么它看作一个大小为 1400 的大文件,并以此来进行片断划分。

3、  文件在下载过程中,同时提供上传,所以是以读写方式打开的,wb+与rb+都指的读写方式。在下载完毕之后,改为只读方式。

4、  由于下载可能中断,所以在 storage 初始化的时候,磁盘上可能已经存在文件的部分数据,必须检查一下文件的大小。为了便于描述,我们把完整文件的大小称为“实际长度”,把文件当前的大小成为“当前长度”。

 

 

class storage:

 

# files 是一个二元组的列表(list),二元组包含了文件名称与长度,例如:

[(“aaa”, 100), (“bbb”, 200)]

def __init__(self, files, open, exists, getsize):

 

        self.ranges = []

 

# 注意,这里是 0l,后面的l表示类型是长整形,而不是 01。

        total = 0l

        so_far = 0l

 

        for file, length in files:

            if length != 0:

   

               # ranges 是一个三元组列表,三元组的格式是: 在“整个”文件的起始位置、结束位置、文件名。bt在处理多个文件的时候,是把它们看作一个拼接起来的大文件。

                self.ranges.append((total, total + length, file))

                total += length

               

               # so_far 是实际存在的文件的总长度,好像没有起作用


...   下一页
    摘要:假设我是搭建在内部局域网中的一个dns(仅用测试嘛~)。 1. 第一步肯定是要规划一下自己域内的dns该怎么配! 希望配置到my.net的主域名服务器为10.1.1.198。而marco.my.net是公司的web和ftp服务器,它的ip是10.1.1.201。yuyu.my.net是mail server指向10.1.1.202 2. 根据上面的想法配置/etc/named.conf options { version "4.0.0"......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE