熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

利用ASP規劃聊天室

2022-06-13   來源: .NET編程 

  經 常 在Internet 上 沖 浪 的 網 友 恐 怕 很 少 有 人 沒 有 去 過 聊 天 室 胡亂神聊 你 只 要 稍 微 留 意 一 下 就會 發 現 這 些 聊 天 室 大 多 是 用CGI 程 序 或 者 用java 開 發 的 Applet 維 護 的 開 發 過 這 類CGI 或Applet 的 程 序 員 都 知 道 這 種 開 發 工 作 是 費 時 費 力 的 那 麼 有 沒 有 一 種 更 簡 單 省 力 的 開 發 方 式 呢 ? 答 案 是 肯 定 的 

  關 於asp 的介紹有許多計算機雜志介紹過在這裡不在贅 述
聊 天 室 的 規 劃
談 話 內 容 儲 存 方 式 的 選 擇 在 客 戶 機 上 顯 示 即 時 談 話 的 內 容 應 以 什 麼 方 式 儲 存 在 服 務 器 呢 ?ASP 有 兩 種 選 擇 一 種 是 以 文 本 文 件 方 式 一 種 是 以 數 據 庫 方 式 但 筆 者 感 覺ASP 對 文 本 文 件 操 作 的 指 令 遠 不 如ADO(Active Data Object) 提 供 的 對 數 據 庫 操 作 的 指 令 多 所 以 利 用ADOASP 能 對 數 據 庫 靈 活 地 操 作 比 如 插 入 刪 除 更 新 查 詢 等 等 筆 者 選 擇access 數 據 庫 來 儲 存 談 話 的 內 容 該 數 據 庫 內 容 只 保 留 一 天( 可 根 據LAN 的 實 際 情 況 確 定 時 間 長 短) 的 談 話 內 容
聊 天 室 界 面 的 設 計 為 了 客 戶 能 夠 方 便 地 浏 覽 站 點 的 內 容 又 能 盡 可 能 地 顯 示 聊 天 室 的 內 容 筆 者 在 一 幅 主 頁 裡 設 計 了 三 幀 左 邊 一 幀 顯 示 的 是 站 點 的Index 右 邊 一 幀 又 分 成 上 下 兩 幀 上 幀 占% 用 來 顯 示 當 前 聊 天 室 的 內 容 下 幀 占% 用 來 提 供 一 個 文 本 輸 入 框 和 供 用 戶 反 饋 的 按 鈕
進 入 聊 天 室 的 步 驟 象 大 多 數 聊 天 室 一 樣 首 先 應 該 提 供 給 用 戶 一 個 登 錄 界 面 由 用 戶 輸 入 自 己 的 名 字 或 別 名 和 自 己 隨 意 給 定 的 密 碼 如 果 輸 入 的 用 戶 名 與 線 的 用 戶 名 相 同 則 提 示 用 戶 重 新 選 擇 用 戶 名 或 重 新 輸 入 密 碼 以 保 證 在 線 的 所 有 用 戶 名 都 是 唯 一 的 登 陸 成 功 後 進 入 聊 天 室 內 容 顯 示 幀 顯 示“ 歡 迎 加 入” 的 歡 迎 信 息 用 戶 就 可 以 在 文 本 輸 入 區 內 輸 入 談 話 內 容 了
設 計 過 程 和 開 發 技 巧
設 計ODBC 系 統 數 據 源 如 前 所 述 本 開 發 采 用ASP 對 ADO 進 行 操 作 因 此 必 須 先 對 數 據 源 進 行 設 置 在NT 服 務 器 的 控 制 面 板 裡 雙 擊ODBC 圖 標 在 系 統DSN 頁 添 加 系 統DSN 選 擇Microsoft Access DriverData Source Name 為‘fybchat’ Database 選 擇Chat 目 錄 下 的chatmdb 該 數 據 庫 包 括 下 面 幾 個 字 段name content passWord chattime chatdate 分 別 以 來 存 儲 姓 名 談 話 內 容 密 碼 談 話 時 間 和 談 話 日 期
登 錄 界 面 設 計 登 錄 界 面 為 一html 頁 包 含 一 些 警 告 信 息 和 一 個Form 該Form 以 來 獲 取 帳號和 密 碼 如 下 所 示

  <form method="post" action="receivedataasp">帳號
<input type="text" name="usname" >密 碼
<input type="password" name="uspassword" >
</center >


<input type="submit" value=" 進 入" >
<input type="reset" value=" 重 填" >
</center >
<input type="hidden" name="content" value="" >
</form>

  通 過 提 交 按 鈕 來 激 發receivedataasp 該ASP 文 件 主 要 來 保 證 在 聊 天 室 裡 沒 有 兩 個 用 戶 是 同 帳號 的 用 戶 提 交 信 息 後 該 文 件 打 開chatmdb 檢 查 是 否 已 經 有 該帳號 如 果 有 但 密 碼 不 對 就 提 醒 用 戶 重 新 輸 入 密 碼 如 果 沒 有 那 麼 用 戶 就 順 利 進 入 了 聊 天 室 進 入 聊 天 室 界 面 的 功 能 由 下 列 語 句 完 成

  <FRAMESET ROWS="%%" >
<FRAME SRC="forumasp" NAME="main" MARGINWIDTH=""   
MARGINHEIGHT="" Noresize >
<FRAME SRC="frftasp?kname= <% =name%>" NAME="footnotes"
MARGINWIDTH="" Noresize >
</FRAMESET >

  注 意 這 裡 有 一 個 技 巧 通 過 參 數kname 將 用 戶 的 帳號 隱 藏 在 客 戶 的 浏 覽 器 裡 面 了 這 樣 一 來 用 戶 每 次 提 交 談 話 內 容 的 同 時 也 把 他 的帳號提 交 了
文 本 輸 入 區 的 設 計 文 本 輸 入 區 是 由frftasp 產 生 的 如 上 所 述 用 戶 每 次 提 交 談 話 內 容 的 同 時 也 把 他 的 帳號 提 交 了 用 戶 提 交 談 話 內 容 的 動 作 是 激 活forumasp Forumasp 的 作 用 是 刷 新 聊 天 室 的 內 容Frftasp 內 容 如 下

  <!DOCTYPE HTML PUBLIC " //IETF//DTD HTML//EN" >
<html >
<head >
<meta httpequiv="ContentType" content="text/html; charset=gb_" >
<meta name="GENERATOR" content="Microsoft FrontPage " >
<title >
</head >
<body >
<% kname=requestQueryString("kname")% >
<base target="main" >
<form name="fm" method="POST" action="forumasp">
<p align="center" ><input type="text" size="" name="content" >  <p align="center" ><input type="button" name="B" value=" 提 交/ 刷 新" >
<input type="reset" name="B" value=" 重 寫" >
<input type="hidden" name="kname" value=


From:http://tw.wingwit.com/Article/program/net/201311/14384.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.