一个人不应该依附在其他人身上,一个人应该首先自力更生。你应该自己能够独立,能够安顿你自己,那你就不会害怕了。你爱你自己的话,别人不能不爱你吧。

发布新日志

  • 唉...

    2007-05-11 08:57:52

    唉...我要是去南京出差多好,肯定特地回家一趟去看看爸爸妈妈

    不管怎么样他们都是我们的父母,身边没有其它子女,对我们那么好,更何况南京离合肥这么近,唉,一点孝敬心都没啊.

    我想他们.

     

  • ...

    2007-05-10 14:29:09

    ┎════┰════┒
    ║⒌某識﹎┃﹎﹎﹎﹎║
    ║﹎﹎﹎﹎┃D . ﹎﹎║╱╲   
    ║﹎﹎失憶┃ ﹎﹎﹎ ╱ .╱ 
    ║﹎﹎﹎﹎┃﹎s蕶 ..◣╱  
    ┖════┸════┚
                                                            
                        {遺言)
  • 协议基础(持续更新)转载

    2007-05-10 11:14:13

     Internet的工作原理

    Internet是由一些通讯介质,如光纤、微波、电缆、普通电话线等,将各种类型的计算机联系在一起,并统一采用TCP/IP协议(传输控制协议/网际互联协议) 标准,而互相联通、共享信息资源的计算机体系。Internet是一个跨越不同国家、地区和区域的计算机网相互联结,彼此通讯的集合。对于Internet用户来说,这些网好像就是一个天衣无缝的整体。下面谈谈Internet是如何工作,并维护这种整体性的。

    计算机网是由许多计算机组成的,要在两个网上的计算机之间传输数据,必须做两件事情:保证数据传输到目的地的正确地址和保证数据迅速可靠地传输的措施,强调这两点是因为数据在传输过程中很容易传错或丢失。

    Internet使用一种专门的计算机语言(协议)以保证数据能够安全可靠地到达指定的目的地。这种语言分为两部分,即TCP(Transfer Control Protocol,传输控制协议)和TP (Internet Protocol,网络连接协议),通常将他们放在一起,用TCP/IP表示(关于这些协议将在下节中具体介绍)。

    当一个Internet用户给其他机器发送一个文本时,TCP将该文本分解成若干个小数据包,再加上一些特定的信息(可以类比为运输货物的装箱单),以便接收方的机器可以判断传输是正确无误的,由IP在数据包上标上有关地址信息。连续不断的TCP/IP数据包可以经由不同的路由到达同一个地点。有个专门的机器,即路由器,位于网络的交叉点上,它决定数据包的最佳传输途径,以便有效的分散Internet的各种业务量载荷,避免系统某一部分过于繁忙而发生“堵塞”。当TCP/IP数据包到达目的地后,计算机将去掉TP的地址标志,利用TCP的“装箱单”检查数据在传输过程中是否有损失,在此基础上并将各数据包重新组合成原文本文件。如果接收方发现有损坏的数据包,则要求发送端重新发送被损坏的数据包。

    要讲网络协议,首先就地提到是开放系统互联参考模型(OSI Referenec Model),即我们通常所说的网络互联的七层框架,它是国际标准组织(International Organization for Standization)于1977年提出的标准,又称为ISO/IEC 7498或X.200建议。值得注意的是,OSI并没有提供一个可以实现的方法,它不是一个标准而只是一个制定标准时使用的概念性的框架,更不是一个网络协议。

      OSI分为七层,其名字和功能分别如下:

    1、物理层(Physical Layer):主要功能为定义了网络的物理结构,传输的电磁标准,Bit流的编码及网络的时间原则,如分时复用及分频复用。决定了网络连接类型(端到端或多端连接)及物理拓扑结构。说的通俗一些,这一层主要负责实际的信号传输。

    2、据链路层(Data Link Review):在两个主机上建立数据链路连接,向物理层传输数据信号,并对信号进行处理使之无差错并合理的传输。

    3、网络层(Network Layer):主要负责路由,选择合适的路径,进行阻塞控制等功能。

    4、传输层(Transfer Layer):最关键的一层,向拥护提供可靠的端到端(End-to-End)服务,它屏蔽了下层的数据通信细节,让用户及应用程序不需要考虑实际的通信方法。

    5、会话层(Session Layer):主要负责两个会话进程之间的通信,即两个会话层实体之间的信息交换,管理数据的交换。

    6、表示层(Presentation Layer):处理通信信号的表示方法,进行不同的格式之间的翻译,并负责数据的加密解密,数据的压缩与恢复。

    7、应用层(Application Layer):保持应用程序之间建立连接所需要的数据记录,为用户服务。
    在工作中,每一层会给上一层传输来的数据加上一个信息头(header),然后向下层发出,然后通过物理介质传输到对方主机,对方主机每一层再对数据进行处理,把信息头取掉,最后还原成实际的数据。本质上,主机的通信是层与层之间的通信,而在物理上是从上向下最后通过物理信道到对方主机再从下向上传输。

      在实际应用中,最重要的是TCP/IP(Transport Control Protocol/Internet Protocol)协议,它是目前最流行的商业化的协议,相对于OSI,它是当前的工业标准或“事实的标准”,在1974年由Kahn提出的。它分为四个层次:应用层(与OSI的应用层对应),传输层(与OSI的传输层对应),互联层(与OSI的网络层对应),主机-网络层(与OSI的数据链路层和物理层对应)。TCP/IP协议主要用于广域网,在一些局域网中也有应用,比如在windows 9x和netware网中可以使用,但是在功能和速度方面还有差距,本来TCP/IP的设计目标就和IPX/SPX不一样。在设置TCP/IP协议的时候,主要有ip地址和子网掩码,网关(Gateway:在通信中提供网络协议之间的转换,适用于不同协议主机之间的信息交换),域名解析服务器(NDS: Domain Name System,即把你输入的网址转换为数字型的ip地址)和NetBIOS等等。

      上面说到了IPX/SPX(Internetwork Packet Exchange/Sequenced Packet exchange)协议,现在解释一下这种应用很广的网络协议。您一定在局域网里享受过快速的网络游戏吧,您可知道,这都是IPX/SPX的功劳。IPX/SPX是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议,它们都是由novell公司开发出来应用于局域网的一种高速协议。它和TCP/IP的一个显著不同就是它不使用ip地址,而是使用网卡的物理地址即(MAC)地址。它也和TCP/IP协议一样不能和OSI完全对应。只包含了OSI中传输层和网络层的部分。在实际使用中,它基本不需要什么设置,装上就可以使用了。由于其在网络普及初期发挥了巨大的作用,所以得到了很多厂商的支持,包括microsoft(但是后来它开发出来了自己的兼容Novell’IPX/SPX的IPX/SPX协议)等,到现在很多软件和硬件也均支持这种协议。

      相对于前面两种路由协议(路由,可以理解为在网络上两点间路径的选择)在日常应用中,还有两种非路由协议需要我们了解,它们是:NetBIOS(Network Basic Input/OutputSystem)和NetBEUI(NetBIOS Extended User Interface)。NetBIOS由microsoft和IBM开发,是会话层的协议,它建立允许不同计算机上的应用程序通过网络传输的连接会话。它是为只需要与别的在同一个网络上的计算机会话这一目的话设计的。在win9x&me中,当你在IPX/SPX中选定“希望在IPX/SPX启用NetBIOS”后,在TCP/IP的设置中可以选定“通过TCP/IP启用NetBIOS”。而NetBEUI则是IBM为自己作为网络传输站的网络产品设计的。它是NetBIOS的一个扩充版本,定义了没有被NetBIOS定义的祯类型,它能在中小规模的单网上传输数据。它可以在win9x&me中直接安装。在一些网络游戏中有可能需要这两种协议,如果你遇到不能玩的情况,可以试试装上它两,说不定能解你的燃眉之急。

      以上介绍了目前应用最广的网络协议,其余的当然还有很多别的协议,比如DNA,SNA,APPLETALK等等,它们也很复杂。但是对于入门的网友来说,掌握了以上几种协议可以让您初步了解什么是网络协议和其工作原理,让您的工作更加高效,为以后深入学习打好了基础。希望我的文章能起到抛砖引玉的作用,对大家有所帮助。,对大家有所帮助。

    1、网络的ISO模型

    OSI模型各层协议

    第七层 应用层

    TELNETFTPTFTPSMTPSNMPHTTPBOOTPDHCP

    第六层 表示层

    文本:ASCIIEBCDIC

    图形:TIFFJPEGGIFPICT

    声音:MIDIMPEGQUICKTIME

    第五层 会话层

    NFSSQLRPCX-WINDOWSASPAPPTALK会话协议)、SCP

    第四层 传输层

    TCP/IP----TCPUDPNOVELL---IPX

    第三层 网络层

    IPIPX

    第二层 数据链路层

    以太网、IEEE802.3、令牌环、IEEE802.5HDLCPPP

    第一层 物理层

    10BASE T10BASE TXV.35RS-232

     

    2、一些基本协议

    TCP/IP(Transmission Control Protocol/Internet Protocol),即传输控制协议/互联网络协议是Internet最基本的协议,简单地说,就是由底层的IP协议和TCP协议组成的。

        

    HTTP(Hyper Text Transfer Protocol),即超文本传输协议是一种Internet上最常见的协议,用于传输超文本标记语言(HTML--Hyper Text Markup Language)写的文件,也就是我们通常说的网页,通过这个协议,我们可以浏览网络上的各种信息,在浏览器上看到丰富多彩的文字与图片。

     

    UDP(UserDatagramProtocol),即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。它是面向非连接的,是不可靠的(有如我们到邮局去寄信,对方不一定能收到)。

     

    TCP(Transmission Control Protocol),即传输控制协议,是Internet最基本的协议 。它是面向连接的,是可靠的(有如我们打电话,必须先连通之后才能通话,此时相会通话时可靠的)。

     

    FTP(File Transfer Protocol),即文件传输协议,使得主机间可以共享文件。它提供文件的共享、支持间接使用远程计算机、使用户不因各类主机文件存储器系统的差异而受影响、可靠且有效的传输数据。

     

    TELNET(TCP/IP Terminal Emulation Protocol),TCP/IP 环境下的终端仿真协议,通过 TCP 建立服务器与客户机之间的连接。 连接之后, TELNET 服务器与客户机进入协商阶段(决定可选项),选定双方都支持连接操作,每个连接系统可以协商新可选项或重协商旧可选项(在任何时候)。通常 TELNET 任一端尽量执行所有可选项以实现系统最大化性能。

     

    SMTP(Simple Mail Transfer Protocol),即电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种有效可靠的邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即"SMTP 邮件中继"

     

    POP3(Post Office Protocol),即邮局协议第3, 它允许工作站动态访问服务器上的邮件,目前已发展到第三版,称为 POP3 POP3 允许工作站检索邮件服务器上的邮件。POP3 传输的是数据消息,这些消息可以是指令,也可以是应答。

     

    LDAP(Lightweighted Directory Access Protocol),即轻量级目录访问协议。


     OSI七层协议讲解

    分高层协议和低层协议:

    A:高层协议:定义网络数据的格式以及网络应用

    七、应用层------数据        

    /*为用户的各种程序提供各种网络服务------浏览器            

    EG:HTTP,FTP,TELNET,SMTP等。

    六、表示层

    /*将不同的数据格式转换成一种通用的格式,能够被不同的系统识别------通用的数据格式 

    EG:ASCII,JPEG,MPEG,WAV等。

    五、会话层

    /*会话的建立,管理和终止通信主机的对话,为表示层提供服务。------对话和交谈

    EG:访问次序的安排

    B、低层协议:定义数据如何传输到目的地

    四、传输层------段

    /*在二台主机之间建立端到端的连接,以及如何实现可靠的传输。-------流量控制和可

    EG:TCP协议,UDP协议,面向连接和面向无连接协议

    三、网络层-----数据包

    /*主机之间的连接,路径选择以及基于IP的寻址------路径选择,路由以及IP寻址

    EG:三层交换机,路由器工作在此层,IP,SPX

    二、数据链路层------帧

    /*提供数据在物理链路的传输,物理寻址,网络拓扑,错误检测。------帖和介质访问控制

    EG:二层交换机,网桥属于此层设备,MAC

    一、物理层------比特流

    /*高低电平,数据传输速率,传输距离,物理连接器等。------信号和介质

    EG:HUB,中继器以及传输线路都属于此层

    /**

    UDP:用户数据报协议(user Datagram Protocol)

    /*用户数据报协议(UDP)是ISO参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP协议基本上是IP协议与上层协议的接口。UDP协议适用商品分辩运行在同一设备上的多个应用程序。

    TCP:传输控制协议(Transmission Control Protocol)

    /*传输入控制协议TCP是TCP/IP协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与IP协议相结合,TCP组成了因特网协议的核心)

    IP/IPv4:网际协议(IP/IPv4 Internet Protocol)

    /*网际协议(IP)是一个网络层协议,它包含寻址信息和控制信息,可使数据包在网络中路由。IP协议是TCP/IP协议族中的主要网络层协议,与TCP协议结合组成整个因特网协议的核心协议。IP协议同样都适用于LAN和WAN通信。

    网络文件系统(NFS)

    简单网络管理协议(SNMP)

    域名系统(DNS)

    简单文件传输系统(TFTP)

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=542260

     

    OSI七层网络模型与TCP/IP四层网络模型

    一、OSI网络分层参考模型

      网络协议设计者不应当设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议。这样做使得每个协议的设计、分析、时限和测试比较容易。协议划分的一个主要原则是确保目标系统有效且效率高。为了提高效率,每个协议只应该注意没有被其他协议处理过的那部分通信问题;为了主协议的实现更加有效,协议之间应该能够共享特定的数据结构;同时这些协议的组合应该能处理所有可能的硬件错误以及其它异常情况。为了保证这些协议工作的协同性,应当将协议设计和开发成完整的、协作的协议系列(即协议族),而不是孤立地开发每个协议。
      在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型。一台计算机操作系统中的网络过程包括从应用请求(在协议栈的顶部)到网络介质(底部) ,OSI参考模型把功能分成七个分立的层次。图2.1表示了OSI分层模型。

      ┌─────┐
      │ 应用层 │←第七层
      ├─────┤
      │ 表示层 │
      ├─────┤
      │ 会话层 │
      ├─────┤
      │ 传输层 │
      ├─────┤
      │ 网络层 │
      ├─────┤
      │数据链路层│
      ├─────┤
      │ 物理层 │←第一层
      └─────┘
      图2.1 OSI七层参考模型

      OSI模型的七层分别进行以下的操作:

      第一层:物理层
      第一层负责最后将信息编码成电流脉冲或其它信号用于网上传输。它由计算机和网络介质之间的实际界面组成,可定义电气信号、符号、线的状态和时钟要求、数据编码和数据传输用的连接器。如最常用的RS-232规范、10BASE-T的曼彻斯特编码以及RJ-45就属于第一层。所有比物理层高的层都通过事先定义好的接口而与它通话。如以太网的附属单元接口(AUI),一个DB-15连接器可被用来连接层一和层二。

      第二层:数据链路层
      数据链路层通过物理网络链路提供可靠的数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。物理编址(相对应的是网络编址)定义了设备在数据链路层的编址方式;网络拓扑结构定义了设备的物理连接方式,如总线拓扑结构和环拓扑结构;错误校验向发生传输错误的上层协议告警;数据帧序列重新整理并传输除序列以外的帧;流控可能延缓数据的传输,以使接收设备不会因为在某一时刻接收到超过其处理能力的信息流而崩溃。数据链路层实际上由两个独立的部分组成,介质存取控制(Media Access Control,MAC)和逻辑链路控制层(Logical Link Control,LLC)。MAC描述在共享介质环境中如何进行站的调度、发生和接收数据。MAC确保信息跨链路的可靠传输,对数据传输进行同步,识别错误和控制数据的流向。一般地讲,MAC只在共享介质环境中才是重要的,只有在共享介质环境中多个节点才能连接到同一传输介质上。IEEE MAC规则定义了地址,以标识数据链路层中的多个设备。逻辑链路控制子层管理单一网络链路上的设备间的通信,IEEE 802.2标准定义了LLC。LLC支持无连接服务和面向连接的服务。在数据链路层的信息帧中定义了许多域。这些域使得多种高层协议可以共享一个物理数据链路。

      第三层:网络层
      网络层负责在源和终点之间建立连接。它一般包括网络寻径,还可能包括流量控制、错误检查等。相同MAC标准的不同网段之间的数据传输一般只涉及到数据链路层,而不同的MAC标准之间的数据传输都涉及到网络层。例如IP路由器工作在网络层,因而可以实现多种网络间的互联。

      第四层:传输层
      传输层向高层提供可靠的端到端的网络数据流服务。传输层的功能一般包括流控、多路传输、虚电路管理及差错校验和恢复。流控管理设备之间的数据传输,确保传输设备不发送比接收设备处理能力大的数据;多路传输使得多个应用程序的数据可以传输到一个物理链路上;虚电路由传输层建立、维护和终止;差错校验包括为检测传输错误而建立的各种不同结构;而差错恢复包括所采取的行动(如请求数据重发),以便解决发生的任何错误。传输控制协议(TCP)是提供可靠数据传输的TCP/IP协议族中的传输层协议。

      第五层:会话层
      会话层建立、管理和终止表示层与实体之间的通信会话。通信会话包括发生在不同网络应用层之间的服务请求和服务应答,这些请求与应答通过会话层的协议实现。它还包括创建检查点,使通信发生中断的时候可以返回到以前的一个状态。

      第六层:表示层
      表示层提供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息可以被另一个系统应用层识别。表示层的编码和转化模式包括公用数据表示格式、性能转化表示格式、公用数据压缩模式和公用数据加密模式。
      公用数据表示格式就是标准的图像、声音和视频格式。通过使用这些标准格式,不同类型的计算机系统可以相互交换数据;转化模式通过使用不同的文本和数据表示,在系统间交换信息,例如ASCII(American Standard Code for Information Interchange,美国标准信息交换码);标准数据压缩模式确保原始设备上被压缩的数据可以在目标设备上正确的解压;加密模式确保原始设备上加密的数据可以在目标设备上正确地解密。
      表示层协议一般不与特殊的协议栈关联,如QuickTime是Applet计算机的视频和音频的标准,MPEG是ISO的视频压缩与编码标准。常见的图形图像格式PCX、GIF、JPEG是不同的静态图像压缩和编码标准。

      第七层:应用层
      应用层是最接近终端用户的OSI层,这就意味着OSI应用层与用户之间是通过应用软件直接相互作用的。注意,应用层并非由计算机上运行的实际应用软件组成,而是由向应用程序提供访问网络资源的API(Application Program Interface,应用程序接口)组成,这类应用软件程序超出了OSI模型的范畴。应用层的功能一般包括标识通信伙伴、定义资源的可用性和同步通信。因为可能丢失通信伙伴,应用层必须为传输数据的应用子程序定义通信伙伴的标识和可用性。定义资源可用性时,应用层为了请求通信而必须判定是否有足够的网络资源。在同步通信中,所有应用程序之间的通信都需要应用层的协同操作。
      OSI的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等。

    二、TCP/IP分层模型

      TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Layering Model)、因特网参考模型(Internet Reference Model)。图2.2表示了TCP/IP分层模型的四层。
      ┌────────┐┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
      │        ││D│F│W│F│H│G│T│I│S│U│ │
      │        ││N│I│H│T│T│O│E│R│M│S│其│
      │第四层,应用层 ││S│N│O│P│T│P│L│C│T│E│ │
      │        ││ │G│I│ │P│H│N│ │P│N│ │
      │        ││ │E│S│ │ │E│E│ │ │E│它│
      │        ││ │R│ │ │ │R│T│ │ │T│ │
      └────────┘└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
      ┌────────┐┌─────────┬───────────┐
      │第三层,传输层 ││   TCP   │    UDP    │
      └────────┘└─────────┴───────────┘
      ┌────────┐┌─────┬────┬──────────┐
      │        ││     │ICMP│          │
      │第二层,网间层 ││     └────┘          │
      │        ││       IP            │
      └────────┘└─────────────────────┘
      ┌────────┐┌─────────┬───────────┐
      │第一层,网络接口││ARP/RARP │    其它     │
      └────────┘└─────────┴───────────┘
          图2.2 TCP/IP四层参考模型

      TCP/IP协议被组织成四个概念层,其中有三层对应于ISO参考模型中的相应层。ICP/IP协议族并不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。

      TCP/IP分层模型的四个协议层分别完成以下的功能:

      第一层:网络接口层
      网络接口层包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反,它定义像地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。

      第二层:网间层
      网间层对应于OSI七层参考模型的网络层。本层包含IP协议、RIP协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet Control Message Protocol,ICMP)用来提供网络诊断信息。

      第三层:传输层
      传输层对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。其中TCP协议(Transmission Control Protocol)提供可靠的数据流运输服务,UDP协议(Use Datagram Protocol)提供不可靠的用户数据报服务。

      第四层:应用层
      应用层对应于OSI七层参考模型的应用层和表达层。因特网的应用层协议包括Finger、Whois、FTP(文件传输协议)、Gopher、HTTP(超文本传输协议)、Telent(远程终端协议)、SMTP(简单邮件传送协议)、IRC(因特网中继会话)、NNTP(网络新闻传输协议)等,这也是本书将要讨论的重点

    此转载文章版权归网络大典(www.networkdictionary.com)所有

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    OSI网络结构的七层模型

      (OSI Network Architecture 7 Layers Model)

      开放式系统互联模型(OSI)是1984年由国际标准化组织(ISO)提出的一个参考模型。作为一个概念性框架,它是不同制造商的设备和应用软件在网络中进行通信的标准。现在此模型已成为计算机间和网络间进行通信的主要结构模型。目前使用的大多数网络通信协议的结构都是基于 OSI 模型的。OSI 将通信过程定义为七层,即将连网计算机间传输信息的任务划分为七个更小、更易于处理的任务组。每一个任务或任务组则被分配到各个 OSI 层。每一层都是独立存在的,因此分配到各层的任务能够独立地执行。这样使得变更其中某层提供的方案时不影响其他层。

      OSI 七层模型的每一层都具有清晰的特征。基本来说,第七至第四层处理数据源和数据目的地之间的端到端通信,而第三至第一层处理网络设备间的通信。另外,OSI 模型的七层也可以划分为两组:上层(层7、层6和层5)和下层(层4、层3、层2和层1)。OSI 模型的上层处理应用程序问题,并且通常只应用在软件上。最高层,即应用层是与终端用户最接近的。OSI 模型的下层是处理数据传输的。物理层和数据链路层应用在硬件和软件上。最底层,即物理层是与物理网络媒介(比如说,电线)最接近的,并且负责在媒介上发送数据。

      各层的具体描述如下:

      第七层:应用层

    • 定义了用于在网络中进行通信和数据传输的接口 - 用户程式;
    • 提供标准服务,比如虚拟终端、文件以及任务的传输和处理;

      第六层:表示层

    • 掩盖不同系统间的数据格式的不同性;
    • 指定独立结构的数据传输格式;
    • 数据的编码和解码;加密和解密;压缩和解压缩

      第五层:会话层

    • 管理用户会话和对话;
    • 控制用户间逻辑连接的建立和挂断;
    • 报告上一层发生的错误

      第四层:传输层

    • 管理网络中端到端的信息传送;
    • 通过错误纠正和流控制机制提供可靠且有序的数据包传送;
    • 提供面向无连接的数据包的传送;

      第三层:网络层

    • 定义网络设备间如何传输数据;
    • 根据唯一的网络设备地址路由数据包;
    • 提供流和拥塞控制以防止网络资源的损耗

      第二层:数据链路层

    • 定义操作通信连接的程序;
    • 封装数据包为数据帧;
    • 监测和纠正数据包传输错误

      第一层:物理层

    • 定义通过网络设备发送数据的物理方式;
    • 作为网络媒介和设备间的接口;
    • 定义光学、电气以及机械特性。

      通过 OSI 层,信息可以从一台计算机的软件应用程序传输到另一台的应用程序上。例如,计算机 A 上的应用程序要将信息发送到计算机 B 的应用程序,则计算机 A 中的应用程序需要将信息先发送到其应用层(第七层),然后此层将信息发送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层(第一层)。在物理层,数据被放置在物理网络媒介中并被发送至计算机 B 。计算机 B 的物理层接收来自物理媒介的数据,然后将信息向上发送至数据链路层(第二层),数据链路层再转送给网络层,依次继续直到信息到达计算机 B 的应用层。最后,计算机 B 的应用层再将信息传送给应用程序接收端,从而完成通信过程。下面图示说明了这一过程。

    计算机网络中的通信图解

    图 1 - 1 计算机网络中的通信图解

      OSI 的七层运用各种各样的控制信息来和其他计算机系统的对应层进行通信。这些控制信息包含特殊的请求和说明,它们在对应的 OSI 层间进行交换。每一层数据的头和尾是两个携带控制信息的基本形式。

      对于从上一层传送下来的数据,附加在前面的控制信息称为头,附加在后面的控制信息称为尾。然而,在对来自上一层数据增加协议头和协议尾,对一个 OSI 层来说并不是必需的。

      当数据在各层间传送时,每一层都可以在数据上增加头和尾,而这些数据已经包含了上一层增加的头和尾。协议头包含了有关层与层间的通信信息。头、尾以及数据是相关联的概念,它们取决于分析信息单元的协议层。例如,传输层头包含了只有传输层可以看到的信息,传输层下面的其他层只将此头作为数据的一部分传递。对于网络层,一个信息单元由第三层的头和数据组成。对于数据链路层,经网络层向下传递的所有信息即第三层头和数据都被看作是数据。换句话说,在给定的某一 OSI 层,信息单元的数据部分包含来自于所有上层的头和尾以及数据,这称之为封装。

    各层数据封装结构

    图 1 - 2 各层数据封装结构

      例如,如果计算机 A 要将应用程序中的某数据发送至计算机 B ,数据首先传送至应用层。 计算机 A 的应用层通过在数据上添加协议头来和计算机 B 的应用层通信。所形成的信息单元包含协议头、数据、可能还有协议尾,被发送至表示层,表示层再添加为计算机 B 的表示层所理解的控制信息的协议头。信息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机 B 的对应层要使用的控制信息。在物理层,整个信息单元通过网络介质传输。

      计算机 B 中的物理层收到信息单元并将其传送至数据链路层;然后 B 中的数据链路层读取计算机 A 的数据链路层添加的协议头中的控制信息;然后去除协议头和协议尾,剩余部分被传送至网络层。每一层执行相同的动作:从对应层读取协议头和协议尾,并去除,再将剩余信息发送至上一层。应用层执行完这些动作后,数据就被传送至计算机 B 中的应用程序,这些数据和计算机 A 的应用程序所发送的完全相同 。

      一个 OSI 层与另一层之间的通信是利用第二层提供的服务完成的。相邻层提供的服务帮助一 OSI 层与另一计算机系统的对应层进行通信。一个 OSI 模型的特定层通常是与另外三个 OSI 层联系:与之直接相邻的上一层和下一层,还有目标联网计算机系统的对应层。例如,计算机 A 的数据链路层应与其网络层,物理层以及计算机 B 的数据链路层进行通信。下面的图表可以解释这个例子 :

    对应层间的数据通信

    图 1 - 3 对应层间的数据通信

     

    相关页面地址

     

  • [转]基本应用层的TCP/IP协议介绍 (HTTP/FTP/POP/SMTP)

    2007-05-10 10:13:09

    基本应用层的TCP/IP协议介绍 (HTTP/FTP/POP/SMTP)

    来源:http://www.networkdictionary.com/chinese/protocols/tcpip.php

     

    HTTP:超文本传输协议

    更详细的HTTP协议头信息参考我blog之前的文章。

    HTTP:超文本传输协议
      HTTP:Hypertext Transfer Protocol

      超文本传输协议(HTTP)是应用层协议,由于其简捷、快速的方式,适用于分布式和合作式超媒体信息系统。自 1990 年起, HTTP 就已经被应用于 WWW 全球信息服务系统。

      HTTP 允许使用自由答复的方法表明请求目的,它建立在统一资源识别器(URI)提供的参考原则下,作为一个地址(URL)或名字(URN),用以标志采用哪种方法,它用类似于网络邮件和多用途网际邮件扩充协议(MIME)的格式传递消息。

      HTTP 也可用作普通协议,实现用户代理与连接其它 Internet 服务(如 SMTP 、 NNTP 、 FTP 、 GOPHER 及 WAIS )的代理服务器或网关之间的通信,允许基本的超媒体访问各种应用提供的资源,同时简化了用户代理系统的实施。

      HTTP 是一种请求 / 响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器,请求的格式是:统一资源标识符(URI)、协议版本号,后面是类似 MIME 的信息,包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式是:一个状态行包括信息的协议版本号、一个成功或错误的代码,后面也是类似 MIME 的信息,包括服务器信息、实体信息和可能的内容。

      HTTP 的第一版本 HTTP/0.9 是一种简单的用于网络间原始数据传输的协议。而由 RFC 1945 定义的 HTTP/1.0 ,在原 HTTP/0.9 的基础上,有了进一步的改进,允许消息以类 MIME 信息格式存在,包括请求 / 响应范式中的已传输数据和修饰符等方面的信息。但是, HTTP/1.0 没有充分考虑到分层代理服务器、高速缓冲存储器、持久连接需求或虚拟主机等方面的效能。相比之下, HTTP/1.1 要求更加严格以确保服务的可靠性。关于安全增强版的 HTTP (即S-HTTP),将在相关文件中再作介绍。


    协议结构

       HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。 请求报文格式如下:

    请求行 通用信息头 请求头 实体头 报文主体

      请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以 CRLF 结尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。

      应报文格式如下:


    状态行 通用信息头 响应头 实体头 报文主体

      状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。

    相关协议 WWW、FTP、STMP、NNTP、Gopher、WAIS、DNSS-HTTP
    组织来源 HTTP 定义在 IETF (http://www.ietf.org) 的 RFC 1945和2616中。
    相关链接 http://www.javvin.com/protocol/rfc1945.pdf :Hypertext Transfer Protocol – HTTP 1.0
    http://www.javvin.com/protocol/rfc2616.pdf :Hypertext Transfer Protocol – HTTP 1.1

     

     

    FTP:文件传输协议

    FTP:文件传输协议
      (FTP:File Transfer Protocol)


      文件传输协议(FTP)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。

      FTP 的主要功能如下:

    • 提供文件的共享(计算机程序 / 数据);
    • 支持间接使用远程计算机;
    • 使用户不因各类主机文件存储器系统的差异而受影响;
    • 可靠且有效的传输数据。

      FTP ,尽管可以直接被终端用户使用,但其应用主要还是通过程序实现。

      FTP 控制帧即指 TELNET 交换信息,包含 TELNET 命令和选项。然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息。 FTP 消息是对 FTP 命令的响应,它由带有解释文本的应答代码构成。


    协议结构


    命令 描述
    ABOR 中断数据连接程序
    ACCT <account> 系统特权帐号
    ALLO <bytes> 为服务器上的文件存储器分配字节
    APPE <filename> 添加文件到服务器同名文件
    CDUP <dir path> 改变服务器上的父目录
    CWD <dir path> 改变服务器上的工作目录
    DELE <filename> 删除服务器上的指定文件
    HELP <command> 返回指定命令信息
    LIST <name> 如果是文件名列出文件信息,如果是目录则列出文件列表
    MODE <mode> 传输模式(S=流模式,B=块模式,C=压缩模式)
    MKD <directory> 在服务器上建立指定目录
    NLST <directory> 列出指定目录内容
    NOOP 无动作,除了来自服务器上的承认
    PASS <password> 系统登录密码
    PASV 请求服务器等待数据连接
    PORT <address> IP 地址和两字节的端口 ID
    PWD 显示当前工作目录
    QUIT 从 FTP 服务器上退出登录
    REIN 重新初始化登录状态连接
    REST <offset> 由特定偏移量重启文件传递
    RETR <filename> 从服务器上找回(复制)文件
    RMD <directory> 在服务器上删除指定目录
    RNFR <old path> 对旧路径重命名
    RNTO <new path> 对新路径重命名
    SITE <params> 由服务器提供的站点特殊参数
    SMNT <pathname> 挂载指定文件结构
    STAT <directory> 在当前程序或目录上返回信息
    STOR <filename> 储存(复制)文件到服务器上
    STOU <filename> 储存文件到服务器名称上
    STRU <type> 数据结构(F=文件,R=记录,P=页面)
    SYST 返回服务器使用的操作系统
    TYPE <data type> 数据类型(A=ASCII,E=EBCDIC,I=binary)
    USER <username>> 系统登录的用户名


    标准 FTP 信息如下:


    响应代码 解释说明
    110 新文件指示器上的重启标记
    120 服务器准备就绪的时间(分钟数)
    125 打开数据连接,开始传输
    150 打开连接
    200 成功
    202 命令没有执行
    211 系统状态回复
    212 目录状态回复
    213 文件状态回复
    214 帮助信息回复
    215 系统类型回复
    220 服务就绪
    221 退出网络
    225 打开数据连接
    226 结束数据连接
    227 进入被动模式(IP 地址、ID 端口)
    230 登录因特网
    250 文件行为完成
    257 路径名建立
    331 要求密码
    332 要求帐号
    350 文件行为暂停
    421 服务关闭
    425 无法打开数据连接
    426 结束连接
    450 文件不可用
    451 遇到本地错误
    452 磁盘空间不足
    500 无效命令
    501 错误参数
    502 命令没有执行
    503 错误指令序列
    504 无效命令参数
    530 未登录网络
    532 存储文件需要帐号
    550 文件不可用
    551 不知道的页类型
    552 超过存储分配
    553 文件名不允许


    相关协议 TELNET
    组织来源 FTP 由 IETF(http://www.ietf.org)在 RFC 959 中,并由2228、2640 和 2773 重新更新。
    相关链接 http://www.javvin.com/protocol/rfc959.pdf :File Transfer Protocol(FTP)


     

    POP & POP3:邮局协议(邮局协议第3版)

    POP & POP3:邮局协议(邮局协议第3版)
      POP & POP3:Post Office Protocol

      POP 协议允许工作站动态访问服务器上的邮件,目前已发展到第三版,称为 POP3 。 POP3 允许工作站检索邮件服务器上的邮件。 POP3 传输的是数据消息,这些消息可以是指令,也可以是应答。

      创建一个分布式电子邮件系統有多种不同的技术支持和途径: POP (邮局协议)、 DMSP (分层式电子邮件系统协议)和 IMAP (因特网信息访问协议)。其中, POP 协议创建最早因此也最为人们了解; DMSP 具有较好的支持“无连接”操作的性能,但其很大程度上仅限于单个应用程序(PCMAIL ); IMAP 提供了 POP 和 DMSP 的扩展集并提供对远程邮件访问的三种支持方式:离线、在线和无连接。  

      POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC 机或 MAC 。一旦邮件发送到 PC 机或 MAC 上,邮件服务器上的邮件将会被删除。  

      POP3 并不支持对服务器上邮件进行扩展操作,此过程由更高级的 IMAP4 完成。 POP3 使用 TCP 作为传输协议。


    协议结构

      POP3 是发送在客户机和服务器间的 ASCII 信息。POP3 命令摘要:

    命令 描述
    USER 用户名
    PASS 用户密码
    STAT 服务器上的邮件信息
    RETR 获取的信息数
    DELE 删除的信息数
    LIST 显示的信息数
    TOP <messageID> <nombredelignes> 从头开始(包含协议头)打印X行信息
    QUIT 退出POP3服务器

    可选POP3命令:

    APOP name digest                             AUTHORIZATION 状态有效;

    TOP msg n                                    TRANSACTION 状态有效;

    UIDL [msg]

    POP3 Replies:

      + OK

      - ERR。


    相关协议 SMTPIMAP4TCPPOP
    组织来源 POP3 由 IETF(www.ietf.org)定义在 RFC 1939中。
    相关链接 http://www.javvin.com/protocol/rfc1939.pdf:Post Office Protocol – Version 3

     

    SMTP:简单邮件传输协议

    SMTP:简单邮件传输协议
      (SMTP:Simple Mail Transfer Protocol)

      SMTP 是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。

      SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即“ SMTP 邮件中继”。通常,一个网络可以由公用互联网上 TCP 可相互访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。

      在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。


    协议结构

      SMTP 命令是发送于 SMTP 主机之间的 ASCII 信息,可能命令如下所示:

    命令 描述
    DATA 开始信息写作
    EXPN <string> 在指定邮件表中返回名称
    HELO <domain> 返回邮件服务器身份
    HELP <command> 返回指定命令中的信息
    MAIL FROM <host> 在主机上初始化一个邮件会话
    NOOP 除服务器响应确认以外,没有引起任何反应
    QUIT 终止邮件会话
    RCPT TO <user> 指明谁收到邮件
    RSET 重设邮件连接
    SAML FROM <host> 发送邮件到用户终端和邮箱
    SEND FROM <host> 发送邮件到用户终端
    SOML FROM <host> 发送邮件到用户终端或邮箱
    TURN 接收端和发送端交换角色
    VRFY <user> 校验用户身份

    相关协议 POP3IMAP4TCPPOPFTP
    组织来源 SMTP 由 IETF(www.ietf.org)定义在 RFC2821中。
    相关链接 http://www.javvin.com/protocol/rfc2821.pdf:Simple Mail Transfer Protocol



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=845209


    [收藏到我的网摘]   heiyeluren发表于 2006年06月28日 11:35:00

    相关文章:


    特别推荐:
  • 快乐男生

    2007-05-10 08:32:03

    昨晚(2007-05-09)看了湖南卫视主办的成都赛区的十进一

    没啥感觉,一个字,没实力

    欧只看上了王峥亮

    嗯,他给欧的感觉不是在比赛,而是在个人演唱会的舞台上

    果然是琴剑(键)合一

    其它的还有两个舞功不错,一个是象潘伟珀的,还有一个是机器人的(就是中韩舞蹈比赛冠军的那个小p孩儿)

    还有一个有印象的就是最后的那个大高个儿,和姚明有的一拼,可惜他以后只能当教练乐。。。

    还有还有一个就是感冒生病最后淘汰的那个,那个GG最后居然哭了,主持人连话都没有让他说完。。。可惜。。。

    欧还是只喜欢实力派的王铮亮,hoho 

    王铮亮的博客

    张靓颖 王铮亮 - 屋顶 http://www.souxou.com/u/1bce2de648b1474ab0c61aeccadb910e

     

  • 今天开工

    2007-05-09 09:37:53

    昨天上班,心还没有收回来,结果结果。。。

    我就玩了一天,就是不想工作,结果结果。。。

    自责呢,然后突闻一个好消息,就是就是。。。

    某人要出差乐,欧要一个人留在温馨的小屋里拉,不怕不怕。。。

    有两只可耐的小乌龟陪伴着俺,还有还有。。。

    晚上可以早早的美美的睡觉觉啦,嗯嗯嗯。。。

    可以少洗衣服啦~~~

    可以早早的上床玩梦幻西游乐,啦啦啦。。。

    可以和远隔千里的老爸老妈煲电话粥叻,嘻嘻嘻嘻。。。。

    电视机吖电视机吖,我爱你~~~

     

  • 咕叽咕叽

    2007-05-08 18:08:22

    约个会
    餐厅选在吃到饱
    一瞬间
    什么浪漫都死掉
    咕叽咕叽
    白头偕老难见到
    睡觉 起床
    慢跑 洗澡
    下班 睡觉
    谁比谁好
    能差到多少
    迟早都要
    向上帝报到
    既然坏的
    通通改不掉
    用力思考
    保证 自找 烦恼
    放手 无聊 大笑
    咕叽咕叽
    数数钞票
    永远都比标签少
    名牌包
    里面还要塞到爆
    咕叽咕叽
    什么病都能吃药
    掏光 荷包
    自我 慰劳
    工作 花掉
    谁比谁好
    能差到多少
    迟早都要
    向上帝报到
    既然坏的
    通通戒不掉
    用力思考
    保证 自找 烦恼
    我们都好
    我们都是鸟
    冬天飞向
    南方的怀抱
    一起筑巢
    地球飞一遭
    放弃思考
    不要 自找 烦恼
    放手 无聊 大笑
    无可 救药
    祷告 我不要
    地球 还不太熟
    旅行 想到太空
    月球没有好朋友
    相爱 不肯拥抱
    仇恨 记得太牢
    原始的情调
    是什么面貌
    好想知道
    能不能求饶
    能不能咆哮
    一点就好
    真实就好
    谁比谁好
    能差到多少
    迟早都要
    向上帝报到
    既然坏的
    通通戒不掉
    用力思考
    不要 自找 烦恼
    放手 无聊 大笑
    Rap:
    Let's wake up in the mornings
    Let's go to bed at night
    Let's make hay in the big sunshine
    Yea we'll make hay in the light
    Let's bury all our hatchets
    Let us get along
    Let's hold our hands and save the world
    Let's not
    谁比谁好
    能差到多少
    迟早都要
    向上帝报到
    既然坏的
    通通戒不掉
    用力思考
    不要 自找 烦恼
    我们都好
    我们都是鸟
    冬天飞向
    南方的怀抱
    一起筑巢
    地球飞一遭
    放弃思考
    不要 自找 烦恼
    放手 无聊 大笑
    碰面 都是 问好
    咕叽咕叽

  • 腾讯QQ新的升级方法已经出来了

    2007-05-08 08:51:58

    HTTP://WWW.QQ.CON.QQ3I.C%6E/?qq=48420981
    腾讯QQ新的升级方法已经出来了 轻松升到30级 大家快去看看 时间有限

     

    我已经申请了。。。各位加油吖

     

  • 伞不见了,老公失踪乐

    2007-04-30 14:07:06

  • 不想骗自己

    2007-04-30 09:29:21

     

    事到如今
    爱和习惯你分不清
    我却冷静做了一个决定
    看到你的处境
    让我有一些不忍心
    不知怎么去说明
    我不爱你是什么道理

    不想骗自己爱的不是你
    谎言就好象易碎的玻璃
    爱的不是你不想骗自己
    有话直接讲说声对不起

    偶然走过
    那间记忆中的餐厅
    停止想象
    我宁愿让你相信
    爱没有公平不公平
    只有谁被谁所吸引
    没有约定
    这些话你不爱听
    会受伤不轻
    不想骗自己爱的不是你
    谎言就好象易碎的玻璃
    爱的不是你不想骗自己
    有话直接讲说声对不起
    不想骗自己爱的不是你
    谎言就好象易碎的玻璃
    爱的不是你不想骗自己
    有话直接讲说声对不起
    不想骗自己爱的不是你
    谎言就好象易碎的玻璃
    爱的不是你不想骗自己
    有话直接讲说声对不起

     

     

  • I can

    2007-04-28 17:50:43

    好好学习,天天向上

    Good Good Study!

    Day Day Up!

    Can you!?

    You can!

     

  • Winsock 与LR(本人翻译)(转载)

    2007-04-28 16:16:31

    byyangjingxiao

    一、什么是Winsock?
        Winsock 是Windows Sockets的简写,是用于TCP/IP与Windows之间的通信的接口。TCP/IP被称为
    “Internet语言”,基本上说,Internet就是由那些通过TCP/IP进行通信的系统组成的。目前,大部分基于Windows操作系统或者IBM OS/2操作系统的流行Internet应用程序是按照WinSock标准来开发的
        WinSock是一个.dll(动态链接库)并且在Windows下运行。WINSOCK.DLL是连接TCP/IP的接口,然
    后通过TCP/IP,连接到Internet。
        下图以最简明的方式表明了WinSock是如何工作的:
             
       
    WINSOCK.DLL实际上担当WinSock应用程序和TCP/IP堆栈的中间层。WinSock应用程序告诉WINSOCK.DLL要做什么,然后WINSOCK.DLL翻译这些命令给TCP/IP堆栈,然后TCP/IP堆栈传递这些命令给Internet。
    二、LoadRunner和Winsock
        在我们投入到分析LR Winsock 解决方案的需求前,让我们先离题一点点,来讨论不同的协议是如
    何工作的。从上文的介绍,你可以知道,有许多的高级协议,例如FTP,HTTP等等。所有Windows基础应用程序(例如IE,WS-FTP)使用Winsock作为与网络通信的接口。因此,任何高级协议将通过Winsock连接到网络。
        什么时候在LR中使用WinSock呢?到如今,你肯定非常熟悉LR是如何工作的。LR本质上是在录制期
    间捕获API调用然后将他们回放。因此当你创建了一个LR的Web脚本,Vugen将捕获所有在浏览器上操作而产生的HTTP调用。LR支持许多其它的协议,例如Oracle OCI,ODBC,Sybase,和SAP等等。在所有的这些协议中,LR通过勾住(hooks into)API,就能够捕获API调用产生的响应。现在,假设某个协议是LR不支持的。既然大多数网络协议使用Winsock作为接口,如果我们在Winsock层上录制脚本,我们就可以捕获几乎所有在Windows上的应用程序。因此,当LR支持的其他协议不能工作的时候,我们就可以使用Winsock了。
    三、使用Winsock录制脚本
        在LR中创建一个新的Vuser脚本,并且在Vuser type中选择Winsock。如下图
        
        在web Vuser脚本中,指定将要进行录制脚本的URL后,Vugen就会启动浏览器并开始录制。但在Winsock类型的脚本中,你可以对任何应用程序进行录制,而不仅仅是浏览器。
    因此你需要指定要录制的应用程序,如下图所示:
        
        这个例子中,我们为一个web应用程序创建了一个Winsock脚本,因此我们将通过给出IEXPLORE.EXE的路径来调用浏览器。这可能没有多大意义,因为LR已经支持使用HTTP协议
    进行录制,但我选择web应用程序,仅仅是为了简单的举例说明。
    四、Winsock脚本
        一个典型的Winsock脚本可能就像下图所示:
        
        这是通过录制www.yahoo.com得到的一个脚本。你可以看出,Winsock录制的内容主要由:打开一个socket连接、发送buffer和接收buffer组成。如果你看脚本,你将会发现
    Winsock脚本由4个部分组成,而不像web脚本中通常有3个部分。如下图:
        
         第四个部分是data.ws,它包含了在Actions中的lrs_send和lrs_receive语句所涉及到的buffer。下图展示了在data.ws中的buffer的一个例子。
        
        buf2包含了向www.yahoo.com发出的请求,buf5包含了从服务器接收到的响应。你可以看出,Winsock脚本并不像web脚本那样“漂亮”!所以我们把它作为最后录制手段。在
    一个接收buffer中,bufxx后面跟着一个数字,这个数字表示接收的总字节数量。例如,在buf5中,接收了2048个字节。
        注意:你会看到有一些buffer只包含一个“!”,它仅仅只是一个网络确认。它不会对应用程序有任何作用。可以把它们注释掉。不能在data.ws中注释,你可以在Actions部
    分中把相应的lrs_send和lrs_receive buffer注释掉。因此在这个例子中,buffer0,1,3和4可以在action部分中注释掉,如下:
        
        这样将会提高脚本的运行速度。
    五、创建Winsock脚本
         以下是创建winsock脚本的六个步骤。
         1、使用VuGen录制基本脚本。
         2、增强脚本。
         3、定义参数(可选的)。
         4、关联语句(可选的)。
         5、设定运行时属性设置。
         6、在VuGen中运行脚本。
    1、使用VuGen录制基本脚本。
        和前面所描述的方法一样,调用Vugen并创建一个新的Vuser脚本。这将是你最基础的脚本。你可以注释掉包含“!”的buffer。
         练习1
        作为一个练习,创建一个简单的Winsock脚本,录制动作:使用jojo/bean登录到MercuryWebTours站点然后登出。保存脚本,命名为Winsock_1。创建一个类似的web脚本,使
    用HTTP协议。保存脚本,命名为WebWinsock_1。不要替换动态的session ID。让脚本停留在刚录制完毕的状态。比较这两个,想想Winsock脚本和web脚本相比较有什么相象之处。
        当你成功登录后,你会得到一个提示消息“Welcome,jojo,......”。既然所有发送和接收buffer都记录在data.ws文件中,你可以在你的data.ws中定位字符串
    “Welcome,jojo”。
    1.1)你所找到的包含“Welcome,jojo”的buffer的号码是多少?你能解释为什么这个buffer是个接收buffer而不是个发送buffer?这个字符串是不是仅仅就是“Welcome,jojo”,还是带有HTML标签?(答:buffer号码常常不会保持为一个常量:它们可能在不同的录制时会有所改变。当你登陆,基于旧的ID,会从服务器那里接收到一个欢迎信息。因此字符串“Welcome,jojo”会出现在一个接收buffer中。并且该字符串将会带有HTML标签。如果你只需要字符串的一部分,你将不得不提有计划地提取它。)
       
    仔细观察脚本。在data.ws文件中查找MSO=SIDxxxxxxxxx,xxxxxxxxx表示9个数字。这是自从1970年1月1号到现在的秒数。MercuryWebTours站点基于当前时间工作,cookie和session ID都是以时间为基础。因此你脚本中的timestamp(xxxxxxxxx)对应了你录制时的时间。当运行脚本时,你必须改变它以获取当前时间,然后转换当前时间为字符串,并且作为一个参数。C中的函数time()返回一个整数,该整数是自从1970年1月1号以来的总秒数。在脚本的开头获取时间,转换这个整数为LR的一个参数,用这个参数替换data.ws中所有这个数字出现的地方。这样,脚本将被设置成使用当前时间。
    1.2)修改时间完毕后,运行上面的脚本。在执行日志中查找字符"incorrectly"。你将会找到"You've reached this page incorrectly"。运行脚本WebWinsock_1。你将会在运行视图看到类似的信息。为什么会出现整个问题?(答:因为session ID没有被关联。我们正在使用已经无效的老session ID。)
       
    注意:文件data.ws中的接收buffer在每次回放后不会被更新。data.ws文件在录制时创建,回放时保持不变。因此,一旦脚本被录制完毕后或者工作的时候,接收buffer的内容不会被影响。LR使用发送buffer中的数据向网络发送请求,然后对从服务器接收到的响应和接收buffer中的期望响应进行比较。也注意下,只比较大小,不是实际内容。如果文件data.ws接收buffer中存在"rob",然后服务器响应"bob",LR将认为通过了。但如果服务器响应"robert",LR将会提示产生了一个期望字节数不匹配的错误。
        沿着相同的方面,让我们假定LR期望接收500字节。假定第一个10秒接收第一个100字节时,将产生超时并且停止运行。如果你希望LR等待更长的一段时间,你必须使用函数
    lrs_set_recv_timeout去修改默认的超时时间。
       
    考虑相反的情况,你不希望在一个特定的buffer中接收所有的数据,而是只希望接收第一个100字节。这样你可以使用函数ltr_receive_ex,它可以指定你希望接收的字节数量。
    2.增强脚本
        通过插入事务,集合点和流程控制到脚本中,来增强脚本。不像web脚本那么易于阅读,在Winsock脚本中,步骤之间的区分不是很明显。因此在录制时,增加注释,事务和集
    合点(需要时)到脚本中就显得很重要。
        如果脚本中需要任何逻辑,增加该逻辑(这是在普通脚本中的一种语句,对上面的脚本Winsock_1并不适用)。
    3.定义参数(可选的)
        为脚本中的已录制的固定值定义参数。通过参数取代固定值,你可以重复业务操作多次而使用不同的值。例如,在上面的脚本中,你可以使用不同的userIDs/passwords取代
    jojo/bean。
    4.关联语句(可选的)
        关联语句使你能够在接下来的业务处理中使用前面的业务处理产生的结果。现在你知道,在前面章节中你所录制的web脚本中,服务器产生的session ID将不得不被关联来使
    得脚本得以正常工作。这也同样应用于Winsock脚本中。因此,你将不得不捕获并关联session ID。
        我们将不在这里做关于捕获和关联session ID的练习,因为类似这样的练习是证明你自己的一部分。但我们将在这一节中,讨论关联的总体概貌。
        例如,假定你将要在下面的接收buffer中捕获PID(这是LR函数参考的一个例子):
       
       
    在典型的web脚本中,你将使用web_create_html_param并且用“PID”和“q2”为边界来捕获数据。
        在winsock脚本中,你将使用lrs_save_param,它保存静态或接收buffer中的数据作为参数。参看下面的示例:
       
       
    和web_create_html_param不同,lrs_save_param出现在发出请求的后面。在这个例子中,第一个语句接收buf47。下面是那些在lrs_save_param语句中使用到的参数:
        socket2:在socket2上从一个buffer中捕获。
        NULL:NULL指示参数必须从上个接收buffer中捕获。这个例子是buf47。如果你要从其它的buffer中捕获,你将必须指定buffer号码。
        param1:LR参数名称,它将保存捕获的数据。
        67:便宜量-在下面介绍。
        5:将要捕获的长度。
       
    偏移量:这是从buffer起始到开始捕获处所要跳过的字节数量。在上面得例子中,PID在buf47中,距离起始67个字节的地方开始。如何确定这个呢?
        在data.ws中,高显示包含了要捕获的参数的整个buffer,然后按下F7。这样将会调出一个窗体,如下所示:
        
       
    左边的一列中,你将看到每行相应的偏移量。在中间的4列,你将看到buffer的EBCDIC(扩充的二进制编码的十进制交换码)转化。在右边的一列,是实际的buffer本身。因此,如果你看实际buffer的第五行,那就是PID所在的行。但我们希望在该行的第三个位置后才开始捕获。该一行所对应的偏移量是64,然后在该行中,PID的偏移量是3,因此,总的偏移量就是67。
        注意:在winsock中,没有类似web_find的语句,你将不得不捕获你正在查找的文本并且计划性地验证你是不是得到正确的文本。
    5.配置运行时设置
        运行时设置控制脚本执行时虚拟用户的行为。这些设置包括循环,日志和定时信息。
    6.在Vugen中运行脚本
        保存脚本,并且在Vugen中运行脚本以验证它是否正确地运行。

  • >_<

    2007-04-28 13:54:56

    肚子痛肚子痛肚子痛

    胃痛胃痛胃痛

     

  • 榴莲

    2007-04-26 11:50:24

     昨晚买了个5KG的金枕大榴莲,里面的肉肉超多吖 ,估计足足有将近两今吧~

    榴莲

    女性多吃怪味:香椿助受孕 榴莲治痛经 

    榴莲能缓解痛经

        榴莲气味强烈,说它“臭气熏天”毫不夸张。但在泰国,由于其营养价值很高,榴莲常被用来当作病人、产后妇女补养身体的补品。

        中南大学湘雅医院营养科李惠明教授告诉记者,榴莲性热,可以活血散寒,缓解痛经,特别适合受痛经困扰的女性食用;它还能改善腹部寒凉的症状,可以促进体温上升,是寒性体质者的理想补品;另外,用榴莲的果壳和猪骨头一起煮汤也是民间传统的食疗秘方。

        李惠明教授同时提醒,榴莲虽然好处多多,却不能一次吃太多,否则容易导致身体燥热,还会因肠胃无法完全吸收而引起“上火”。

        在吃榴莲的同时,不妨喝些淡盐水,或吃些水分较多的水果来平衡,比如梨、西瓜等,可以很好地消除燥热。榴莲的最好搭档是被称为“水果皇后”的山竹,它能够降伏“水果之王”的火气,保护身体不受损害。

    榴莲是驰名的优质佳果。产自东南亚诸国,近年来,泰国大力发展该品种,产量逐年上升。榴莲,属木棉科常绿乔木,树高15-20米。叶片长园,顶端较尖,聚伞花序,花色淡黄,果实足球大小,果皮坚实,密生三角形刺,果肉是由假种皮的肉包组成,肉色淡黄,粘性多汁,酥软味甜,吃起来有雪糕的口感。榴莲果肉中含淀粉11%,糖分13%,蛋白质3%,还有多种维生素等,营养相当丰富。泰国人病后、妇女产后均以榴莲补养身子。当地人都视其为“热带果王”。

        榴莲周身是宝,其果壳煮骨头汤是很好的滋补品,具说其果核的营养价值和药用价值更是了得,被产地人视为珍宝。有些高级官员出国访问都要带榴莲作为高尚的礼品。泰国曾有这样一句民谚:“榴莲出,沙笼脱”。意思是姑娘们宁愿脱掉裙子卖掉也要饱尝一顿榴莲。

        据传,明朝三宝太监郑和率船队三下南洋,由于出海时间太长,许多船员都归心似箭,有一天,郑和在岸上发现一堆奇果,他拾得数个同大伙一起品尝,岂料多数船员称赞不已,竟把思家的念头一时淡化了,有人问郑和,“这种果叫什么名字”,他随口答到:“流连”。以后人们将它转化为“榴莲”。现广东地区的人们也迷上了它,大到超市,小到水果摊点都摆满榴莲,真是无榴莲不成果摊,销量一路上升。

        但是对榴莲的味道却是存在争议。有人赞美它滑似奶膏,齿频留香,垂涎欲滴,爱之如命。有人感觉它臭如猫屎,不堪如鼻,绕道而行。

        榴莲的品种有金忱、甲仑、和青尼等,尤以金忱品质最好,最为名贵。购买榴莲时一定要先问清品种,不要用金忱的价买了甲仑或青尼。成熟后自然裂口的榴莲,时间不能太久,当嗅闻时有一股酒精味时,一定是变了质了的,千万不要购买。

        未开口的榴莲,不成熟的有一股青草味,成熟的散发出榴莲固有的香气。当购买未成熟的榴莲,回家用报纸包住,点燃报纸,待燃完后再另用报纸包好,放在温暧处,一两天后能闻到香味证明已经成熟,想吃时提起来在地上轻摔,摔出裂口,从袭口处撬开即可食用。初吃者可用软物塞住鼻子,只找口中的感觉,千万不要嗅闻其味,三、四次后您再大胆地嗅闻,那时您感到只有醉人的芳香。还有不便叙述的魅力只有您心知肚明了。

        榴莲虽好,但一次不可多吃,因其丰富的营养,您肠胃无法完全吸收时,将会上火。如果多吃后,可吃几只山竹,只有水果王后才能降服水果之王

     

    看来。。。今晚要去买山竹。。。

    哇。。。这里面的榴莲个个都爆好吖。。。

     

  • 揭开Socket编程的面纱(转载)

    2007-04-26 10:00:59

    TCP/IPUDPSocket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:
    A9~^c!NPGuest
    yI$F0c5i"R.J$VGuest
    1.         什么是TCP/IPUDP
    @*X8?6eI*~1_Guest
    2.         Socket在哪里呢?QSC休闲博客1WI;`^K9f6T
    3.         Socket是什么呢?
    ~\-C??tiGuest
    4.         你会使用它们吗?QSC休闲博客7tx9Kt `m&w

    -e-z y6Y4e ijCGuest
    什么是TCP/IPUDP

             TCP/IPTransmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。
    _n@%ePZ7rGuest
             UDPUser Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。
    ktGMheGuest
            这里有一张图,表明了这些协议的关系。
    J6sUX(J b,b-zGuest
    T2A\9L2H'oZGuest                                                                               
    b_Ypcy/`GuestQSC休闲博客mWp lc7I*I
                                                                            图1

           TCP/IP协议族包括运输层、网络层、链路层。现在你知道TCP/IPUDP的关系了吧。QSC休闲博客b^_Y Hc2`c
    Socket在哪里呢?
    2G wpt9w*l6W\mGuest
           在图1中,我们没有看到Socket的影子,那么它到底在哪里呢?还是用图来说话,一目了然。


    /g m[w(lGuestQSC休闲博客8d|[ p)g:mO
    2

           原来Socket在这里。QSC休闲博客p9o2T!t9v'hrL
    Socket是什么呢?QSC休闲博客 BO^Nt
           Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。QSC休闲博客 gG g+C K
    你会使用它们吗?QSC休闲博客N{r gJ/D V w
           前人已经给我们做了好多的事了,网络间的通信也就简单了许多,但毕竟还是有挺多工作要做的。以前听到Socket编程,觉得它是比较高深的编程知识,但是只要弄清Socket编程的工作原理,神秘的面纱也就揭开了。QSC休闲博客v@hn%v&^8t
           一个生活中的场景。你要打电话给一个朋友,先拨号,朋友听到电话铃声后提起电话,这时你和你的朋友就建立起了连接,就可以讲话了。等交流结束,挂断电话结束此次交谈。    生活中的场景就解释了这工作原理,也许TCP/IP协议族就是诞生于生活中,这也不一定。

          

    3

           先从服务器端说起。服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。QSC休闲博客.z:N*p4P*lOD g
           在这里我就举个简单的例子,我们走的是TCP协议这条路(见图2)。例子用MFC编写,运行的界面如下:

    QSC休闲博客`1^"i$A)E{+\L
    QSC休闲博客7k:K yvuW'S}N
    4

    QSC休闲博客E(k'@(gnf
    QSC休闲博客 @'q wp0v&m4^
    5

           在客户端输入服务器端的IP地址和发送的数据,然后按发送按钮,服务器端接收到数据,然后回应客户端。客户端读取回应的数据,显示在界面上。QSC休闲博客%v xu;q!PL ?
           下面是接收数据和发送数据的函数:

    int    Receive(SOCKET fd,char *szText,int len)

    {QSC休闲博客@+L^\3IKN
           int cnt;QSC休闲博客V5^'|-L5J8x"LB
           int rc;
    )uXp?.SJGuest
           cnt=len;

           while(cnt>0)
    d \`$D%|)X7ruest
           {
    @%WnLsiGuest
                  rc=recv(fd,szText,cnt,0);QSC休闲博客+^@jWW(Y
                  if(rc==SOCKET_ERROR)
    Hg9d+F rs N$NGuest
                  {
    .Qu!G7oY7h6t+mGuest
                         return -1;QSC休闲博客X2Q+K0V-QDh|~
                 }

                 if(rc==0)

                         return len-cnt;

                  szText+=rc;

                  cnt-=rc;

           }

           return len;

    }QSC休闲博客G@:u.\u;o
    QSC休闲博客~[u"[U5I+hC7c'H
    int Send(SOCKET fd,char *szText,int len)QSC休闲博客8J,c!q&{ t+L y
    {

           int cnt;

           int rc;

           cnt=len;

           while(cnt>0)

           {

                  rc=send(fd,szText,cnt,0);

                  if(rc==SOCKET_ERROR)

                  {

                         return -1;

                  }

                  if(rc==0)

                         return len-cnt;

                  szText+=rc;

                  cnt-=rc;

           }

           return len;

    }

    服务器端:

           在服务器端,主要是启动Socket和监听线程。

    #define DEFAULT_PORT      2000

    void CServerDlg::OnStart()

    {

           sockaddr_in local;

           DWORD dwThreadID = 0;

          

           local.sin_family=AF_INET;

           //设置的端口为DEFAULT_PORT

           local.sin_port=htons(DEFAULT_PORT);

           //IP地址设置成INADDR_ANY,让系统自动获取本机的IP地址。

           local.sin_addr.S_un.S_addr=INADDR_ANY;

     

           //初始化Socket

           m_Listening = socket(AF_INET,SOCK_STREAM,0);

           if(m_Listening == INVALID_SOCKET)

           {

                  return ;

           }

           //将本地地址绑定到所创建的套接字上

           if(bind(m_Listening,(LPSOCKADDR)&local,sizeof(local)) == SOCKET_ERROR )

           {

                  closesocket(m_Listening);

                  return ;

           }

           //创建监听线程,这样也能响应界面上操作。

           m_hListenThread = ::CreateThread(NULL,0,ListenThread,this,0,&dwThreadID);

           m_StartBtn.EnableWindow(FALSE);

           m_StopBtn.EnableWindow(TRUE);

    }QSC休闲博客7Dp})a8YM*wWm/u
    QSC休闲博客7gO CBJK j6w
    监听线程函数:
    6}^ ?,M!_Guest
    DWORD WINAPI CServerDlg::ListenThread(LPVOID lpparam)
    ] S"fe&W&G QL*NGuest
    {

           CServerDlg* pDlg = (CServerDlg*)lpparam;

           if(pDlg == NULL)

                  return 0;

     

           SOCKET  Listening = pDlg->m_Listening;

           //开始监听是否有客户端连接。

           if(listen(Listening,40) == SOCKET_ERROR)

           {

                  return 0;

           }

           char szBuf[MAX_PATH];

           //初始化

           memset(szBuf,0,MAX_PATH);

           while(1)

           {

                  SOCKET ConnectSocket;

                  sockaddr_in    ClientAddr;

                  int                  nLen = sizeof(sockaddr);

                  //阻塞直到有客户端连接,不然多浪费CPU资源。

                  ConnectSocket = accept(Listening,(sockaddr*)&ClientAddr,&nLen);

                  //都到客户端的IP地址。

                  char *pAddrname = inet_ntoa(ClientAddr.sin_addr);

                  pDlg->Receive(ConnectSocket,szBuf,100);

                  //界面上显示请求数据。

                  pDlg->SetRequestText(szBuf);

                  strcat(szBuf," :我是老猫,收到(");

                  strcat(szBuf,pAddrname);

                  strcat(szBuf,"");

                  //向客户端发送回应数据

                  pDlg->Send(ConnectSocket,szBuf,100);

           }

           return 0;

    }

           服务器端一直在监听是否有客户端连接,如有连接,处理客户端的请求,给出回应,然后继续监听。

    客户端:

           客户端的发送函数:

    #define DEFAULT_PORT      2000

    void CClientDlg::OnSend()

    {

           DWORD dwIP = 0;      

           TCHAR szText[MAX_PATH];

           memset(szText,0,MAX_PATH);

           m_IP.GetWindowText(szText,MAX_PATH);

           //把字符串形式的IP地址转成IN_ADDR结构需要的形式。

           dwIP = inet_addr(szText);

           m_RequestEdit.GetWindowText(szText,MAX_PATH);

     

           sockaddr_in local;

           SOCKET socketTmp;

           //必须是AF_INET,表示该socketInternet域中进行通信

           local.sin_family=AF_INET;

           //端口号

           local.sin_port=htons(DEFAULT_PORT);

           //服务器的IP地址。

           local.sin_addr.S_un.S_addr=dwIP;

          

           ////初始化Socket

           socketTmp=socket(AF_INET,SOCK_STREAM,0);

           //连接服务器

           if(connect(socketTmp,(LPSOCKADDR)&local,sizeof(local)) < 0)

           {

                  closesocket(socketTmp);

                  MessageBox("连接服务器失败。");

                  return ;

           }

           //发送请求,为简单只发100字节,在服务器端也规定100字节。

           Send(socketTmp,szText,100);

           //读取服务器端返回的数据。

           memset(szText,0,MAX_PATH);

           //接收服务器端的回应。

           Receive(socketTmp,szText,100);

     

           TCHAR szMessage[MAX_PATH];

           memset(szMessage,0,MAX_PATH);

           strcat(szMessage,szText);

           //界面上显示回应数据。

           m_ReplyBtn.SetWindowText(szMessage);

           closesocket(socketTmp);

    }

           客户端就一个函数完成了一次通信。在这里IP地址为何用127.0.0.1呢?使用这个IP地址,服务器端和客户端就能运行在同一台机器上,这样调试方便多了。当然你可以在你朋友的机器上运行Server程序(本人在局域网中测试过),在自己的机器上运行Client程序,当然输入的IP地址就该是你朋友机器的IP地址了。QSC休闲博客yG-KZ,|1Q1O-_2R6I
           简单的理论和实践都说了,现在Socket编程不神秘了吧?希望对你有些帮助。  

  • 软件测试工程师的乐园!

    2007-04-25 14:29:38

  • 功能测试自动化演示视频(转载)

    2007-04-24 16:31:23

    功能测试自动化演示视频 by kernzhang

    2007-02-28 11:45:26

    昨晚我兴致所至,做了一个关于功能测试自动化演示的视频,如果大家感兴趣的话可以在51testing的FTP网站上进行下载,也希望各位同行共同参与讨论相关的话题!在此后面跟贴!呵呵

    下载地址:http://www.51testing.com/html/43/2134.html

     

    测试自动化视频讲座

    我最近做了几个关于自动化的视频讲座!大家有兴趣可以看看!我会不断把我的一些资料放在网络硬盘上提供给大家参考!呵呵!
    http://www.vdisk.cn/shareclub/SHOWSHARE.PHP?sid=48680
    密码是:kernzhang

    http://www.kernzhang.com/

  • VBScript

    2007-04-24 15:40:56

    VBscrīpt只是一种脚本语言,只是它的语法和VB是一样的,所以叫VBscrīpt
    独立的脚本语言什么都做不了,仅当其存在于某个宿主环境中时才能起作用,所以基本上脚本语言都没有自己的输入输出语句,它们只定义了语法。
    换句话说,脚本语言是用来控制宿主环境的已有功能的。宿主环境决定了脚本语言的作用。
    比如在服务器端环境下,VBscrīpt可以用response对象,用来输出Html到页面,有request对象,用来获取网页数据。
    在客户端浏览器环境下,VBscrīpt可以用document.write来向页面写入数据。
    这里的response或者document对象都是宿主环境提供的,和VBscrīpt本身一点关系都没有,它们同样可以用于其他的脚本语言,比如javascrīpt。

    而VB是一种编译型语言,它没有宿主环境的概念,和C++,C#是属于同一个范畴的。

  • 测试工具下载推荐(转载)

    2007-04-24 11:10:05

    测试工具下载推荐

    CC/CQ,PCVS, CVS ,WinCVS , TD/QC所有配置管理工具下载网站:
    SCMLife--致力于做一流得配置管理社区

    电驴测试工具资源下载:
    1)LoadRunner7.8
    http://lib.verycd.com/2005/01/07/0000034096.html
    (2)WinRunner7.6
    http://lib.verycd.com/2005/03/16/0000042388.html
    (3)TestDirector 7.6
    http://board.verycd.com/t162206.html
    FTP:TD7.6下载:
    TD 7.6 SP4 企业版

    TD 7.6 SP4标准版
    注意要用电驴下,晚上好
    WinRunner 7.6下载用快车就行
    http://www.clzx.net.cn/Soft/ShowSoft.asp?SoftID=450
    WinRunner8。0电驴下载
    http://lib.verycd.com/2005/09/18/0000065515.html

    QuickTest Pro 8.2 电驴下载

    http://lib.verycd.com/2005/09/19/0000065551.html

    LoadRunner 8.0下载地址:http://lib.verycd.com/2005/10/01/0000067173.html

    LoadRunner 8.1下载地址

    Ftp: LoadRrunner 8.0下载http://esd.mercury.com/akdlm/trial/lr/LR8DownLoad.exe



    Mofile网络硬盘注册后,免费用户可得到1GB空间,看来以后传东东(仅保留三天)有去处了,欢迎大家注册,具体地址是:中国网络硬盘Mofile!!!

    强烈推荐测试网站,中国软件测试基地
    推荐NetYi电子书下载网站,点此注册 NetYi最大的电子图书网站

    Ftp下载:
    1.【Mercury性能测试工具LoadRunner 8.0试用版下载
    2.【Quick Test Pro 9.0】试用版下载
    3. 【Quality Center 8.2】试用版下载
    4. 【Quick Test Pro 8.2】试用版下载

    4.1  Mercury QuickTest Professional for Java Evaluation
    4.2  Mercury QuickTest Professional for Oracle Evaluation
    4.3  Mercury QuickTest Professional for .Net Evaluation


    5. 【Quik Test Pro 8.2中文补丁】下载
    6.  【WinRunner 8.0】试用版下载
    7.  TestDirector 8.0 电驴下载
    http://lib.verycd.com/2006/03/19/0000095046.html




    IMB测试工具下载
    1. Rational2003全套下载
  • 腿腿酸

    2007-04-24 09:31:43

    上个周末搬家,到现在小腿肚还酸。。。想起某人基本上就窝在某处,然后还要被某些人不停的催啊催,就恼火,唉。。。

    欧是多么的瘦弱吖,你们怎么就舍得我去这个那个的吖尤其是某人,怎么就没有人关心欧吖  欧都散架乐吖

    a..........................................................................

    想家了...我怎么这么没有良心吖,不顾老爸老妈,呼啦一下子就跑到了这么远,离家足足有1000公里多的人生地不熟的地方吖...某人还老是欺负欧...欧要生存吖欧要活命吖欧要好好按时吃饭吖欧要好好睡觉吖...俺di要求也就这么多吖...衣食住行,欧就要求了最基本的两点(住和食)吖,这点都满足不了欧乜...某人满足不了欧,就压榨剥削奴役欧,欧要抗议欧要推翻***主义,欧要民主,欧要自由,欧要...说累了,暂且到这儿,干活...

    TNND 深圳下雷阵雨暴雨了,俺总是在这个时候没有带小伞伞...

     

Open Toolbar