?? 中國源碼下載站.txt
字號:
?
+
---- 首 先 介 紹 服 務 器 程 序 的 編 制。 需 確 定 主 要 的 幾 個 類 及 其 成 員 函 數。 列 表 如 下:
---- ChatServer 類:
---- 服 務 器 程 序 的 啟 動 類。
---- ChatServer(): 建 立 服 務 器 管 理 界 面。
---- initServer(): 建 立 服 務 器 插 結, 初 始 化 交 談 室 數 據, 按 照 允 許 同 時 上 線 的 最 大 用 戶 數 建 立 多 個 用 戶 服 務 線 程。
---- go(): 啟 動 用 戶 服 務 線 程。
---- quit(): 中 止 用 戶 服 務 線 程, 關 閉 服 務 器 插 結, 并 釋 放 全 部 資 源。
---- User 類: 為Thread 類 的 子 類, 實 現 用 戶 服 務 線 程, 處 理 服 務 器/ 客 戶 機 會 話。
---- run(): 等 待 客 戶 端 接 入; 客 戶 端 接 入 后 初 始 化 網 絡 資 源, 進 入 循 環 偵 聽 客 戶 端 請 求 的 狀 態, 并 根 據 客 戶 端 的 請 求 調 用 相 應 的 協 議 處 理 程 序。
---- sendText(): 按 照 文 字 傳 輸 子 協 議, 接 收 用 戶 發 出 的 文 字 信 息, 并 轉 發 給 同 一 交 談 室 的 其 他 用 戶。
---- sendDraw(): 按 照 圖 形 傳 輸 子 協 議, 接 收 用 戶 發 出 的 圖 形 信 息, 并 轉 發 給 同 一 交 談 室 的 其 他 用 戶。
---- commandCenter(): 為 服 務 器 接 收 到 的 指 令 選 擇 運 行 適 當 的 處 理 程 序。
---- server_ask_refresh(): 服 務 器 主 動 刷 新 交 談 室 及 成 員 名 單。
---- server_answer_reresh(): 響 應 客 戶 機 要 求 刷 新 交 談 室 及 成 員 名 單。
---- server_answer_log(): 響 應 客 戶 機 登 錄。
---- server_answer_join(): 響 應 用 戶 加 入 指 定 交 談 室 請 求。
---- server_answer_pause(): 響 應 用 戶 暫 停 交 流 請 求。
---- server_answer_continue(): 響 應 用 戶 恢 復 交 流 請 求。
---- server_answer_newRoom(): 響 應 用 戶 建 立 新 交 談 室 請 求。
---- server_answer_quit(): 響 應 用 戶 退 出 交 談 室 請 求。
---- server_ask_text(): 服 務 器 向 客 戶 機 轉 發 文 字 信 息。
---- server_ask_draw(): 服 務 器 向 客 戶 機 轉 發 圖 形 信 息。
---- refreshToAll(): 服 務 器 刷 新 所 有 在 線 客 戶 端 的 交 談 室 數 據。
---- refreshToAllNotMe(): 服 務 器 刷 新 除 該 用 戶 外, 所 有 在 線 客 戶 端 的 交 談 室 數 據。
---- socketClose(): 用 戶 申 請 退 出 時 調 用, 關 閉 網 絡 插 結, 釋 放 線 程 占 用 的 網 絡 資 源。
---- RoomGroup 類: 保 存 所 有 交 談 室 數 據, 直 接 處 理 與 交 談 室 有 關 操 作。
---- newRoom(): 建 立 新 交 談 室。
---- join(): 加 入 指 定 交 談 室。
---- quit(): 退 出 指 定 交 談 室。
---- getUsersName(): 返 回 指 定 交 談 室 內 的 用 戶 名。
---- getRoomID(): 按 照 交 談 室 主 題 查 詢 并 返 回 交 談 室ID 號。
---- Room 類: 保 存 并 處 理 本 交 談 室 用 戶 數 據。
---- join(): 加 入 本 交 談 室。
---- quit(): 退 出 本 交 談 室。
---- getUsersName(): 返 回 本 交 談 室 的 用 戶 名。
---- DataBag 類: 包 裝 圖 形 和 文 字 數 據。
---- AboutDialog 類: 生 成About 對 話 框, 可 顯 示 版 權 信 息。
---- QuitDialog 類: 生 成QuitDialog 對 話 框, 用 于 確 認 是 否 結 束 服 務 器 運 行。
---- 客 戶 機Applet 包 含 的 類 及 其 主 要 成 員 函 數 如 下:
---- ChatApplet 類: 為Applet 類 的 子 類, 實 現Runnable 接 口。
---- 是 白 板Applet 的 核 心 類, 完 成 與 用 戶 交 流 和 與 服 務 器 通 訊 的 任 務。
---- init(): 初 始 化Applet 用 戶 界 面。
---- run():: 循 環 偵 聽 來 自 白 板 服 務 器 的 信 息, 調 用commandCenter 命 令 處 理 程 序。
---- start(): 生 成 并 啟 動Applet 線 程。
---- stop(): 中 止Applet 線 程。
---- destroy(): 中 止 后 臺 圖 形 數 據 傳 送 線 程, 調 用 關 閉 網 絡 資 源 函 數。
---- socketClose(): 關 閉 所 有 打 開 的 網 絡 插 結 和 通 訊 流。
---- openSocket(): 建 立 網 絡 插 結 和 通 訊 流。
---- commandCenter(): 集 中 處 理 來 自 用 戶 和 服 務 器 以 及 來 自Applet 內 部 的 命 令, 調 用 相 應 的 處 理 程 序。
---- client_ask_refresh(): 客 戶 機 請 求 刷 新 交 談 室 數 據。
---- client_answer_refresh(): 客 戶 機 接 收 服 務 器 發 送 的 交 談 室 數 據。
---- client_ask_log(): 申 請 登 錄 到 服 務 器。
---- client_ask_join(): 申 請 加 入 指 定 交 談 室。
---- client_ask_pause(): 暫 停 交 流。
---- client_ask_continue(): 恢 復 交 流。
---- client_ask_newRoom(): 申 請 建 立 新 交 談 室。
---- client_ask_quit(): 退 出 交 談 室。
---- client_ask_text(): 發 送 用 戶 輸 入 的 文 字 信 息。
---- client_answer_text(): 接 收 服 務 器 轉 發 的 其 他 用 戶 的 文 字 信 息。
---- client_answer_draw(): 接 收 服 務 器 轉 發 的 其 他 用 戶 的 圖 形 信 息。
---- refreshRoomList(): 顯 示 交 談 室 列 表。
---- refreshUserList(): 顯 示 指 定 交 談 室 中 的 用 戶 列 表。
---- printChat_Area(): 將 該 用 戶 和 來 自 服 務 器 的 其 他 用 戶 的 輸 入 的 文 字 用 指 定 格 式 顯 示 在Applet 的 交 談 文 本 框 中。
---- sendText(): 判 斷 用 戶 輸 入 的 文 字 是 否 為 有 效 字 符 串, 若 有 效 則 調 用 發 送 文 字 函 數。
---- drawBoard_Canvas(): 按DataBag 對 象 的 值, 在Applet 的 白 板 上 繪 圖。
---- boardCanvas_MouseDrag(): 當 鼠 標 在 白 板 上 拖 動 時 調 用 此 函 數, 將 鼠 標 軌 跡 包 裝 成 數 據 包 發 送 給 后 臺 網 絡 傳 輸 線 程。
---- logButton_Clicked(): 當 用 戶 單 擊Applet 的 登 錄 鈕 時 調 用 此 函 數, 建 立 網 絡 插 結 和 后 臺 網 絡 傳 輸 線 程。
---- 其 他 一 系 列 用 戶 界 面 事 件 處 理 函 數: 與 用 戶 交 流, 接 收 用 戶 輸 入, 直 接 處 理 或 調 用commanCenter 函 數 執 行 用 戶 命 令。
---- RoomData 類: 存 儲 該 交 談 室 的 主 題 和 用 戶 名 的 數 據 類
---- addUser(): 在 該 交 談 室 中 添 加 用 戶 名。
---- removeUser(): 在 該 交 談 室 中 刪 除 用 戶 名。
---- getUsersName(): 返 回 所 有 在 該 交 談 室 中 的 用 戶 名。
---- Rooms 類: 為Vector 類 的 子 類。 存 儲 所 有 交 談 室 的 用 戶 數 據。
---- getRoomByName(): 按 交 談 室 主 題 返 回 指 定 交 談 室 的RoomData 對 象。
---- addElement(): 添 加RoomData 對 象。
---- SendDrawData 類: 為Thread 類 的 子 類, 實 現 后 臺 網 絡 傳 輸 線 程。
---- run(): 循 環 偵 聽 來 自Applet 主 線 程 的 圖 形 信 息, 并 將 其 通 過 網 絡 接 插 生 成 的 輸 出 流 發 送 給 服 務 器。
---- quit(): 關 閉 該 線 程 與Applet 主 線 程 的 連 接 流。
---- Logo 類: 為Canvas 類 的 子 類。 用 于 在Applet 中 顯 示 圖 標 或 版 權 信 息。
---- 此 外 程 序 中 還 定 義 了 幾 個 異 常 類, 可 以 方 便 程 序 的 異 常 處 理 機 制 設 計, 增 加 程 序 的 可 維 護 性 和 可 讀 性。Applet 徽 標 的 默 認 圖 形 文 件 名 是"cdownlogo.jpg"(457 ×60), 服 務 器 像 標 的 默 認 圖 形 文 件 名 是"icon.gif"(19 ×17)。 服 務 器 默 認 占 用 的 端 口 號 為10000。 以 上 各 項 可 以 視 需 要 修 改。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -