【正文】
能有效地降低文件交互成本;二、文件交換過程過于繁瑣;三、內 部機密資料得不到安全保證;四、文件交互的準確性得不到更本保證。 3)經濟可行性方案:系統開發(fā)完成必須作到提高文件共享效率,不管是在資金上還是效率上都能達到預 期的效果的。 第二部分:文件傳輸是本設計功能實現的核心。這里對他們分別設置了一個信息發(fā)送的頭信息,分別設置為:LOGIN, HAND 以及 LOGOUT。 i,j:integer。 //獲取本機 IP for i:=0 to do begin getusers([i],clist)。,[39。 //向好友發(fā)握手信息 var minfobuf:array[0..1023]of char。 (ip,port,minfobuf,sizeof(minfobuf))。LOGOUT39。 //獲取工作組的計算機名稱 type TNetResourceArray = ^TNetResource。 Begin Result := False。//不限資源數目 BufSize := 8192。 (tmpstr)。 End。 begin ZeroMemory(readbuf[0],2030)。 recvport:=9000。 { minfo:=format(39。 if head=39。 if head=39。 recvport:=9000。 Function ( var List : TStringList ) : Boolean。 //返回局域網中的工作組類型 Begin Result := False。//緩沖區(qū)大小設置為 8K GetMem(Buf, BufSize)。 Res := WNetCloseEnum(lphEnum)。所以系統設置一個“刷新”按鈕,當用戶點擊 “刷新”后將更新界面的用戶列表中所有在線用戶 的主機名,主機 IP地址和工作組名。然后以組件 。 begin tempItem:=。 if then //如果文件打開。 //創(chuàng)建文件線程 begin Fip:=IP。 //定義文件流 begin try socket:=(nil)。 //寫入傳輸的文件名 (inttostr())。如果文件大小為 OK就認為是文件傳輸完畢自動斷開連接。 sign,i:integer。 zeromemory(filename,255)。 getmem(pname,255)。 writeln(39。 readstream(fs,lsize)。)。BEGIN39。 。所以這個時候我們需要對整個文件夾都進行傳輸。 :=string(filename)。 begin POSI:=0。 end。其源代碼 分別 如下: constructor (IP:string。 end。 remotefilename:=39。 (toip,dir)。 :=9923。 if ()=39。 procedure (LocalDir: String)。..39。 end。 lStream:TFileStream。 :=9923。 if trim(())=39。 finally 。 sign,i:integer。,39。 move(Savedir[1],localroot^,length(Savedir))。 if cmd=39。\39。 //接收文件大小 if lsize=0 then begin disconnect。 end。測試過程中,兩臺測試主機同時運行設計軟件。39。,39。savedir39。 基本上實現了 預期的功能 ,目前 測試 運行良好。 end。 then Savedir:=Savedir+39。)。 savedir,cmd,tempdir:string。文件傳輸完畢關閉套節(jié)字連接。 readstream(fs,lsize)。 //本地文件名 writeln(39。\39。 end else writeln(39。 then Savedir:=Savedir+39。 if cmd=39。 var cmd,tmpfn,msg,targetname,localdir,:string。 end。START39。 Sfilename:string。 end。 putfile(localfile,Iremotefile)。*.*39。 finally 。)。 var csocket:tidtcpclient。\39。我的電腦 39。 // Fremotename:=remotename。 第 18 頁 共 26頁 文件夾選取以后調用 (toip,dir)建立文件夾傳輸流,其源代碼如下: 文件夾傳輸流建立以后,由函數 inherited create(false)提示 立刻執(zhí)行文件傳輸流函數 。,39。 var dir:string。如果用戶忘記選擇文件接收者,系統彈出提示框“請選擇消息接收者”,然后打開本地文件路徑,并將本地文件夾路徑得出來。 end。 exit。 if not directoryexists(localdir) then createdir(localdir)。START39。 if lsize=0 then begin disconnect。 end。 getmem(hostname,255)。 // (cmd)。 //服務器端 ... var cmd,tmpfn,msg,targetname,localdir,:string。 end。 //創(chuàng)建文件流和文件建立關聯設置 //參數 fmopenread=file mode openread try (39。 //表示創(chuàng)建線程后立刻執(zhí)行 end。 end。提示 39。連接成功后發(fā)送文件流。直到文件傳輸完畢關閉套節(jié)字連接并釋放空間。 FreeMem(Buf)。 For I := 0 To Count 1 Do //列舉各個工作組的信息 Begin ( StrPAS( P^.lpRemoteName )) 。 //得到網絡中的所有工作組的名稱 If Res NO_ERROR Then exit。 lphEnum : THandle。LOGOUT39。)。)。,myname,myworkgroup])。 recvname:=copy(msg,headlen+1,namelen)。 head:=trim(copy(msg,1,headlen))。 var readbuf:array[0..2030]of char。 Res := WNetCloseEnum(lphEnum)。//資源列舉完畢 If (Res NO_ERROR) then Exit。 := RESOURCETYPE_DISK。 Ind : Integer。 // 廣播自己離線信息 。 mylogoutinfo:string。,[39。 (myinfobuf,9000)。 。 //獲取主機名 myname:=strpas(pmyname)。 //新用戶上線 以 LOGIN 為頭信息 var wsadata:twsadata。文件傳輸的整 個流程圖如下: 第 6 頁 共 26頁 TCP/IP 3 次握手 SOCKET 流 三次握手 圖 2 文件傳輸系統框架圖 系統界面設計 界面設計 界面是系統功能得以實現的基本平臺,這里充分利用 Delphi 可視化開發(fā)環(huán)境以各種組件設置。徹底避免了文件交換過程與外部網絡的接觸,實現快速的文件資源共享。而且開發(fā)的系統應該簡單易操作,易維護,減少了不必要的麻煩。 最 重要的是,在如今病毒黑客橫行的網絡世界中,信息的安全性也得不到保證。 在網絡編程中, 客戶端使用 Socket 對網絡上某一個服務器的某一個端口發(fā)出 連接請求,一旦連接成功,打開會話;會話完成后,關閉 Socket。而且其重要 的還 有 Object Pascal 語言,它是一切的根本。目前大多數應用軟件系統都是Client/Server 形式的兩層結構 。通常說 TCP/IP是 Inter協議族,而不單單是 TCP和 IP。文件傳輸系統主要功能是自動獲取局 域網內用戶的主機名, IP 地址以及工作組名字,最終以 C/S 模式通過 TCP/IP 協議實現點到點文件傳輸功能。 國內外研究現狀 目前,國內外 企業(yè)對局域網的文件傳輸系統認識和使用情況并不好,各個企業(yè)單位在局域網內實現文件傳輸,資源共享還有很大的缺陷。 Pointtopoint。 設計共分為五大模塊,分別為:一、介紹選題背景及意義和國內外研究現狀;二、介紹 TCP/IP 點對點協議技術 ,C/S 架構的 Delphi 程序設計技術和 Socket 網絡編程技術;三、對當前局域網文件傳輸進行需求分析并提出解決方案;四、根據解決方案對系統進行設計;五、對基于局域網的文件傳輸系統進行測試并得到測試結果。 畢業(yè)設計 ( 論文 ) 基于局域網的文件傳輸系統的設計與實現 論文作者姓名: 申請學位專業(yè): 申請學位類別: 指導教師姓名: 論文提交日期: 基于局域網的文件傳輸系統的設計與實現 摘 要 隨著互聯網技術的迅猛發(fā)展,計算機通信給人類文明帶來了翻天覆地的變化。 關鍵詞: C/S 結構;網絡通訊組件;點對點; Socket 連接 The Design and Implementation of File Transfer System Based on LAN Abstract Along with the Inter technology swift and violent development, the puter correspondence the human culture has brought the earthshaking change for. In very many situations, people39。 Socket connection. 目 錄 論文總頁數: 26 頁 1 引言 ................................................................... 1 選題背景 ........................................................... 1 國內外研究現狀 ...................................................... 1 課題研究的意義 ...................................................... 1 2 理論基礎 ............................................................... 2 TCP/IP點對點協議技術 ............................................... 2 C/S架構的 DELPHI程序設計技術 ....................................... 2 SOCKET