Internet 服 务 端 口 测 试 程 序 的 设 计 与 实 现.docx

上传人:hw****26 文档编号:2989037 上传时间:2019-05-16 格式:DOCX 页数:9 大小:25.46KB
下载 相关 举报
Internet 服 务 端 口 测 试 程 序 的 设 计 与 实 现.docx_第1页
第1页 / 共9页
Internet 服 务 端 口 测 试 程 序 的 设 计 与 实 现.docx_第2页
第2页 / 共9页
Internet 服 务 端 口 测 试 程 序 的 设 计 与 实 现.docx_第3页
第3页 / 共9页
Internet 服 务 端 口 测 试 程 序 的 设 计 与 实 现.docx_第4页
第4页 / 共9页
Internet 服 务 端 口 测 试 程 序 的 设 计 与 实 现.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、Internet 服 务 端 口 测 试 程 序 的 设 计 与 实 现 - 一、 程 序 的 实 用 背 景 - 上 网 的 朋 友 越 来 越 多, 遇 到 的 问 题 也 越 来 越 多, 最 常 见 的 就 是 关 于 域 名 服 务 器(DNS)、 邮 件 服 务(SMTP) 和 POP3 的 配 置问 题。 例 如, 选 用 哪 一 个 DNS,202.96.0.133 还 是 202.96.26.243 ? 记 不 清 ISP 的 邮 件 服 务 器 和 域 名 服 务 器 的 IP 地 址,202.96.26.243 还 是 245 ? - 另 外 一 个 问 题 就 是, 我

2、 们 在 下 载 文 件 的 时 候, 往 往 面 临从 多 个 不 同 主 机 下 载 的 选 择( 象 sunsite 有 数 十 个 镜 像 站 点)。那 么, 选 择 哪 一 个 站 点 进 行 下 载 是 最 快 的 呢 ? - 笔 者 为 此 编 写 了 一 个 应 用 程 序, 试 图 对 Internet 的 常 用 的 网 络 通 信 端 口( 如 Web、Email、FTP 等) 进 行 连 接 测 试, 获 得 服 务 端 口 的 状 态 和 响 应 时 间 指 标, 从 而 为 我 们 更 有 效 的 使 用 Internet 提 供 准 确 的 参 考 数 据。 笔

3、者 为 该 程 序 命 名 为 Tester( 测 试 者),从 后 面 叙 述 不 难 发 现,Tester 还 可 以 作 为 简 单 的 Internet 系 统 性能 测 试 工 具 来 使 用。 - 虽 然 Tester 也 涉 及 了 其 它 的 编 程 方 法, 但 就 总 体 而 言,Tester 属 于 Socket 应 用 程 序。 所 以 我 们 先 从 Socket 编 程 的 模 型 入 手, 介 绍 Tester 程 序 的 设 计 与 实 现。 - 二、 Socket 编 程 模 型 - Socket 是 网 络 通 信 的 一 个 端 点。 我 们 知 道, 网

4、 络 通 信 通 常指 两 台 主 机 或 两 个 进 程, 通 过 网 络 传 递 它 们 之 间 的 数 据, 这样 的 过 程 可 以 理 解 为 网 络 的 一 次 对 话(Session)。 网 络 对 话 的 每 一 端 就 成 为 网 络 通 信 的 端 点, 即 网 络 通 信 实 体 的 最 小 单 位。当 使 用 Socket 接 口 对 网 络 通 信 编 程 时,Socket 是 网 络 通 信 过 程 中端 点 的 抽 象 表 示。 大 多 数 网 络 通 信 采 用 客 户/ 服 务 器 模 型, 客户/ 服 务 器 模 型 按 照 端 点 的 工 作 性 质 来

5、区 分 通 信 双 方 的 端 点。例 如, 客 户/ 服 务 器 模 型 将 启 动 网 络 服 务 请 求 的 端 点 视 作 客 户 进 程 或 客 户 程 序; 对 客 户 请 求 作 出 响 应 的 端 点 是 服 务 器 进 程 或服 务 器 程 序。 - 为 了 进 行 网 络 通 信, 程 序 在 网 络 的 对 话 的 每 一 端 都 需 要 一个 Socket, 即 客 户 端 的 Socket 和 服 务 器 端 的 Socket。 两 个Socket 之 间 的 连 接 可 以 是 面 向 连 接 的 也 可 以 是 无 连 接 的。 虽 然 从 目 前 看,Socke

6、t 编 程 已 经 不 再 局 限 于 UNIX 系 统, 但 是 Socket 接 口 在 网 络 通 信 时 仍 然 使 用 UNIX 系 统 I/O 概 念,Socket 接 口 模 型 仍 然 采 用Open-Read-Write-Close 方 式。 Socket 编 程 的 包 括 几 个 主 要 步 骤:- 1、 建 立 Socket; - 2、 配 置 Socket; - 3、 通 过 Socket 发 送 数 据; - 4、 通 过 Socket 接 收 数 据; - 5、 关 闭 Socket。 - 三、 CSocket 编 程 模 型 - 对 于 网 络 通 信 编 程

7、的 初 学 者 来 说, 直 接 使 用 上 述 的 socket 模型 会 感 觉 困 难 和 复 杂。Visual C+ 的 MFC( 基 础 类 库) 提 供 了 一 些 封装 好 的 对 象 可 供 使 用, 这 些 对 象 的 概 念 相 对 简 单, 编 程 相 对 容易。Tester 程 序 就 是 使 用 MFC 的 几 个 与 socket 相 关 的 类 来 实 现 的。 - 在 服 务 器 Socket 和 客 户 Socket 之 间 建 立 通 信 的 过 程 如 下 文 所 述。 - 1、 创 建 CSocket 对 象。 - 2、 使 用 该 对 象 产 生 SO

8、CKET 句 柄。 - 3、 如 果 socket 是 客 户, 调 用 CAsyncSocket:Connect, 连 接 本 地 的Socket 和 服 务 器 Socket; - 如 果 socket 是 服 务 器, 调 用 CAsyncSocket:Listen, 开 始 侦 听 从 客户 端 来 的 访 问 请 求, 如 果 收 到 请 求, 调 用CAsyncSocket:Accept 进 行 接 收 处 理。 - 4、 建 立 CSocketFile 对 象, 并 且 使 该 对 象 与 CSocket 对 象 具 备 一定 的 联 系; - 5、 建 立 CArchive 对

9、 象, 以 便 实 现 卸 装( 接 收) 数 据 和 存 储( 发 送) 数 据 的 目 的。 当 然, 该 CArchive 对 象 应 该 与 前 面 的CSocketFile 对 象 建 立 联 系; - 6、 使 用 CArchive 对 象 在 客 户 和 服 务 器 socket 之 间 传 递 数 据,从 而 实 现 服 务 器 socket 和 客 户 机 socket 之 间 的 通 信。 值 得 注 意 的 是, 一 个 给 定 的 CArchive 对 象 只 能 在 单 一 的 方 向 上 传 递 数 据:或 者 接 收 或 者 发 送。 一 般 情 况 下, 可 能

10、 需 要 两 个CArchive 对 象 来 实 现 数 据 的 双 向 传 递。 - 7、 解 析 archive、socket file、socket 对 象。 - 四、 程 序 的 实 现 - 简 单 地 讲, 对 于 程 序 的 实 现, 笔 者 主 要 考 虑 了 三 部 分 的 内容:Socket、 时 钟 以 及 界 面。 - Socket( 网 络 通 信 实 体) - Tester 作 为 一 个 客 户 端 的 socket 通 信 程 序, 包 括TestSocket(Csocket 派 生 类)、TestSocketFile(CSocketFile 派 生 类) 和Te

11、stArchiveIn、TestArchiveOut(CArchive 派 生 类) 等。 这 些 对 象 的 建 立 和 使 用 与 上述 的 CSocket 编 程 模 型 相 同。 - 时 钟( 用 于 测 试 网 络 上 Internet 服 务 端 口 的 响 应 时 间)- Tester 在 Socket 连 接 建 立 的 前 后 分 别 调 用 clock 系 统 函 数, 从 而 可 以 利 用 二 者 的 相 对 差 别 获 得 绝 对 时 间 参 数。clock 函 数 可 以 获 得 某 一 系 统 调 用 过 程 所 耗 费 的 时 间。clock 函 数 的 返 回

12、 值 是 处 理 器 的 计 时 单 位 次 数。Tester 的 时 间 单 位 是 毫 秒。 . / 其 它 代 码clock_t start = clock();if (m_pSocket- Connect(lpszAddress, nPort)clock_t end = clock();. / 其 它 代 码elseclock_t end = clock();. / 其 它 代 码. / 其 它 程 序 段- 从 程 序 中 可 以 看 出,Tester 记 录 的 响 应 时 间, 是 指 处 理 器 在 整 个 网 络 通 信 的 连 接 建 立 过 程 中 的 响 应 时 间。

13、这 一 结 果 和网 络 状 况、 服 务 器 端 的 响 应 时 间、 本 地 系 统 的 性 能 均 有 关 系。实 际 上, 网 络 用 户 在 实 际 应 用 过 程 中 真 正 的 时 间 延 迟,就 是上 述 各 个 因 素 的 总 和。 另 外,Tester 的 响 应 时 间 结 果 是10 次 测 试 的 平 均 数。 所 以,Tester 测 试 的 是 整 个 网 络 应 用 的 响 应 时 间, 是 综 合 的 指 标。 - 界 面( 与 程 序 使 用 者 进 行 交 互, 指 令 的 输 入 和 结 果 的 输 出) - 1、 输 入 部 分 - Tester 使

14、用 了 对 话 框 对 象:SetupDlg:CDialog, 在 对 话 框 中, 使用 Check、Edit 等 控 制 件, 并 且 通 过 这 些 控 制 向 程 序 传 递 使 用 者 所 指 示 的 测 试 信 息。 - 2、 输 出 部 分 - Tester 是 单 文 档 界 面(SDI) 的 应 用 程 序。 窗 口 风 格 见 下 面 程 序 段: ./ 其 它 代 码CEditView:PreCreateWindow(cs);cs.style = AFX_WS_DEFAULT_VIEW | WS_VSCROLL | ES_AUTOHSCROLL |ES_AUTOVSCRO

15、LL | ES_MULTILINE | ES_NOHIDESEL | ES_READONLY;./ 其 它 代 码- 利 用 Tester 的 菜 单 功 能 可 以 把 每 次 的 测 试 结 果 存 为 纯 文 本 格 式 的 文 件。 - 五、 程 序 的 应 用 举 例 - Tester 对 于 熟 悉 Internet 应 用 的 使 用 者 来 说, 界 面 一 目 了 然, 操 作 十 分 简 单。 首 先, 使 用 者 根 据 测 试 需 要 填 写 参 数 设 置 对 话 框; 确 认 后, 由 Tester 程 序 自 动 执 行 测 试 工 作, 并 将 测 试 结 果

16、显 示 于 Tester 窗 口 中。 同 时, 用 户 也 可 以 将 测 试 结 果 存 为 文 本 文 件。 - Tester 的 用 户 可 以 自 定 义 一 些 服 务 端 口 进 行 测 试( 例 如, 对话 框 中 没 有 列 出 的 Gopher 等 Internet 服 务)。 当 然, 在 这 种 情 况 下,用 户 必 须 知 道 被 测 试 的 服 务 的 Socket 端 口 号。 - 下 面 给 出 几 个 测 试 结 果 文 件, 仅 供 参 考( 笔 者 经 由2631 拨 号上 网 进 行 测 试)。 被 测 主 机:测 试 时 间:10:37, June

17、09, 1998Internet 服 务 状 态 响 应 时 间(ms)-FTP OFF SMTP ON 2030DNS OFF POP3 ON 1050HTTP ON 380被 测 主 机:测 试 时 间:10:38, June 09, 1998Internet 服 务 状 态 响 应 时 间(ms)-FTP OFF SMTP ON 3670POP3 ON 720HTTP OFF 被 测 主 机:测 试 时 间:10:38, June 09, 1998Internet 服 务 状 态 响 应 时 间(ms)-FTP OFF TELNET OFF SMTP OFF DNS OFF POP3 OFF HTTP ON 1700被 测 主 机:测 试 时 间:10:39, June 09, 1998Internet 服 务 状 态 响 应 时 间(ms)-FTP OFF TELNET OFF SMTP OFF DNS OFF POP3 OFF HTTP ON 930被 测 主 机:测 试 时 间:10:39, June 09, 1998Internet 服 务 状 态 响 应 时 间(ms)-HTTP ON 650

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。