freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

java課程設計---局域網(wǎng)的聊天和文件傳輸(已修改)

2025-06-01 18:35 本頁面
 

【正文】 目 錄 1 前言 ........................................................................................................... 1 2 需求分析 ................................................................................................... 1 任務和要求 ...................................................................................... 1 運行環(huán)境 .......................................................................................... 1 開發(fā)工具 .......................................................................................... 1 3 分析和設計 ................................................................................................ 1 系統(tǒng) 分析及設計思路 ...................................................................... 1 主要類圖 .......................................................................................... 1 系統(tǒng)流程 .......................................................................................... 7 4 具體代碼實現(xiàn) ............................................................................................ 8 5 課程設計總結 .......................................................................................... 25 程序運行結果或預期運行結果 ..................................................... 25 設計結論 ........................................................................................ 27 參考文獻 ..................................................................................................... 27 致 謝 ......................................................................................................... 29 1 1 前言 編寫一個程序來 模擬 實現(xiàn)局域網(wǎng)的聊天和文件傳輸,通過編寫一個文件服務器程序和一個聊天服務器程序來監(jiān)聽文件的發(fā)送和聊天,當有文件傳輸或聊天事件發(fā)生時, 如果同意事件的進行, 則通過輸入流、輸出流對文件或聊天信息進行傳送 ,那么接收的,如 果是文件就選擇保存路徑保存,如果是聊天信息就再聊天對話框的信息顯示欄里顯示,當有一方 終止連接 , 能 告知對方,整個事件結束。 2 需求分析 任務和 要求 編寫一個程序來實現(xiàn)局域網(wǎng)的聊天和文件傳輸 ,具體要求如下: ( 1) 具有一個較好的可視化界面,大體 做到 美觀、大方。 ( 2) 能 進行聊天和文件傳輸,在傳送文件時,接收方要有選擇接不接收的權 力。 ( 3) 在聊天時,如果沒有和對方連接成功,信息發(fā)送框為不可編輯狀態(tài) 。 ( 4) 當在成員列表中雙擊某個成員時,系統(tǒng)自動和對方連接 。 ( 5) 連接成功, 就 能正常聊天,且聊天時不能發(fā) 送空信息。 ( 6) 在一方 主動終止連接 時,要及時通知對方,提示“ 對方已終止連接! ” 。 運行環(huán)境 ( 1) WINDOWS2020/XP 系統(tǒng) ( 2) editplus 或 eclipse 開發(fā)工具 Java 3 分析和 設計 系統(tǒng)分析及設計思路 系統(tǒng)的 理論基礎 ( 1) TCP/IP 協(xié)議 2 網(wǎng)絡編程中兩個主要的問題 , 一個是如何準確的定位網(wǎng)絡上一臺或多臺主機,另一個就是找到主機后如何可靠高效的進行數(shù)據(jù)傳輸。 在 TCP/IP 協(xié)議中 IP 層主要負責網(wǎng)絡主機的定位,數(shù)據(jù)傳輸?shù)穆酚?,?IP 地址可以唯一 地確定 Inter 上的一臺主機。 而 TCP 層則提供面向應用的可靠( tcp)的或非可靠( UDP)的數(shù)據(jù)傳輸機制,這是網(wǎng)絡編程的主要對象,一般不需要關心 IP 層是如何處理數(shù)據(jù)的。 目前較為流行的網(wǎng)絡編程模型是客戶機 /服務器( C/S)結構。即通信雙方一方作為服務器等待客戶提出請求并予以響應。客戶則在需要服務時向服務器提 出申請。服務器一般作為守護進程始終運行,監(jiān)聽網(wǎng)絡端口,一旦有客戶請求,就會啟動一個服務進程來響應該客戶,同時自己繼續(xù)監(jiān)聽服務端口,使后來的客戶也 能及時得到服務。 ( 2) 基于 Socket 的 java 網(wǎng)絡編程 Socket 所支持的協(xié)議種類也不光 TCP/IP 一種,因此兩者之間是沒有必然聯(lián)系的。在 Java 環(huán)境下, Socket 編程主要是指基于 TCP/IP 協(xié)議的網(wǎng)絡編程。 Server 端 Listen(監(jiān)聽 )某個端口是否有連接請求, Client 端向 Server 端發(fā)出Connect(連接 )請求, Server 端向 Client 端發(fā)回 Accept(接受)消息。一個連接就建立起來了。 Server 端和 Client 端都可以通過 Send, Write 等方法與對方通信。 對于一個功能齊全的 Socket,都要包含以下基本結構,其 工作過程包含以下四個基本的步驟: ① 創(chuàng)建 Socket; ② 打開連接到 Socket 的輸入 /出流; ③ 按照一定的協(xié)議對 Socket 進行讀 /寫操作; ④ 關閉 Socket.(在實際應用中,并未使用到顯示的 close,雖然很多文章都推薦如此,不過在我的程序中,可能因為程序本身比較簡單,要求不高,所以并未造成什么影響。) 系統(tǒng)的 設計 本系統(tǒng)大體由對話框模塊、文件服務器模塊、聊天服務器模塊、文件發(fā)送模塊 、文件接收模塊、聊天信息發(fā)送模塊、聊天信息接收的模塊、信息打印顯示模塊 、文件 選擇模塊、成員列表裝載模 塊 等。下面列出部分設計: ( 1) 文件發(fā)送服務器的設計 文件服務器是用 來監(jiān)聽是否要傳遞文件,如果連接成功 , 有文件發(fā)送則創(chuàng)建一個 3 功能 齊全的 Socket 來傳遞文件,主要的代碼為: class FileServer extends Thread{ public void run(){ try{ ServerSocket MyServer = new ServerSocket(4331)。 while(true){ Socket si = ()。 int yon。 yon= (null,().getHostAddress() + 向你發(fā)出文件接收,接收? ,文件接收 ,)。 if(yon==){ new fileAccepter(si).start()。 }else{ OutputStream os = ()。 (false.getBytes())。 ()。 ()。 }}} catch(Exception event8){ } }} ( 2)文件接收的設計 文件接收是把通過 socket 流發(fā)來的字節(jié)流,還原成相應的 文件,主要代碼為: class fileAccepter extends Thread{ byte[] dataAccepter。 Socket s。 FileOutputStream fos。 OutputStream acceptOS。 InputStream acceptIS。 ObjectInputStream ois。 4 public fileAccepter(Socket sx){ s = sx。 } JFrame frame = new JFrame()。 public void run(){ dataAccepter = new byte[DEFAULT_DATASIZE]。 FileDialog fd=new FileDialog(frame,file save dialog,)。 (unname)。 (true)。 String dir = ()。 int i = 0,j = 0。(dir)。 if(dir==null){ try{ OutputStream os = ()。 (false.getBytes())。 ()。 } catch(Exception event){ } } else{ try{ acceptOS = ()。 acceptIS = ()。 ois = new ObjectInputStream(acceptIS)。 (true.getBytes())。 acceptNameCarryer = (MyVector)()。 (ok.getBytes())。 for(i = 0。i
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1