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

正文內(nèi)容

基于局域網(wǎng)的文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)—免費(fèi)畢業(yè)設(shè)計(jì)論文-在線瀏覽

2025-02-01 01:13本頁面
  

【正文】 規(guī)范化和規(guī)模的不斷擴(kuò)大,企業(yè)的計(jì)算機(jī)資源管理將不僅僅停留在依靠硬件或者Inter 網(wǎng)絡(luò)獲 取,而且將會向著安全的內(nèi)部網(wǎng)絡(luò)化資源管理方式邁進(jìn)?;诰钟蚓W(wǎng)的文件傳輸系統(tǒng)能夠讓家庭網(wǎng)絡(luò)以及各個(gè)企業(yè)等局域網(wǎng)對內(nèi)部資料有一個(gè)快捷,準(zhǔn)確 ,安全的共享。文件傳輸系統(tǒng)主要功能是自動獲取局 域網(wǎng)內(nèi)用戶的主機(jī)名, IP 地址以及工作組名字,最終以 C/S 模式通過 TCP/IP 協(xié)議實(shí)現(xiàn)點(diǎn)到點(diǎn)文件傳輸功能。 第 2 頁 共 26頁 2 理論基礎(chǔ) TCP/IP 點(diǎn)對點(diǎn)協(xié)議技術(shù) 系統(tǒng)的文件傳輸功能主要依賴于建立客戶端與服務(wù)器之間點(diǎn)對點(diǎn)的的連接后實(shí)現(xiàn)。 TCP/IP協(xié)議 (Transmission Control Protocol/Inter Protocol)叫做傳輸控制 /網(wǎng)際協(xié)議,又叫網(wǎng)絡(luò)通訊協(xié)議,這個(gè)協(xié)議是 Inter國際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)。雖然從名字上看 TCP/IP包括兩個(gè)協(xié)議,傳輸控制協(xié)議 (TCP)和網(wǎng)際協(xié)議 (IP),但TCP/IP實(shí)際上是一組協(xié)議, 只是 TCP協(xié)議處于運(yùn)輸層,它能夠確保文件準(zhǔn)確的傳送;而 IP協(xié)議處于網(wǎng)絡(luò)層,它標(biāo)識了處于網(wǎng)絡(luò)中任意主機(jī)的唯一身份。通常說 TCP/IP是 Inter協(xié)議族,而不單單是 TCP和 IP。采用 TCP/IP詳解 的原因: 第一, 局域網(wǎng)內(nèi)主機(jī)之間的是依靠 IP地址進(jìn)行標(biāo)識。需要用到與 TCP/IP相對的 UDP協(xié)議。所謂 C/S ( Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server 形式的兩層結(jié)構(gòu) 。由于沒能提供用戶真正期望的開放環(huán)境, C/S 結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng) 百 臺電腦以上局域網(wǎng)用戶同時(shí)使用。 Delphi是美國 BORLAND公司推出的功能強(qiáng)大的應(yīng)用程序開發(fā)工具。它 可是眾多 程序員至愛的編程工具。而且其重要 的還 有 Object Pascal 語言,它是一切的根本。 Delphi 提供了各種開發(fā)工具 ,包括集成環(huán)境、圖像編輯( Image Editor),以及各種開發(fā) 可視化軟件 的應(yīng)用程序,如 DesktopDataBase Expert 等。 DELPHI是可視化應(yīng)用編程開發(fā)環(huán)境,可重用性面向?qū)ο缶幊陶Z言,快速編譯器能夠有效快速建立 WINDOWS 應(yīng)用程序,快速簡化 WINDOWS 與瀏覽器客戶, WEB 服務(wù)器以及中間件等開發(fā)之外,同時(shí)也支持基于 WEB 服務(wù)的 Microsoft, ., Sun one 體系,而且提供給 WEB 開發(fā)者需要的可伸縮性和可靠性。 SOCKET 網(wǎng)絡(luò)程序設(shè)計(jì)技術(shù) 文件傳輸系統(tǒng)得以實(shí)現(xiàn)的根本在于建立有效的連接以及是否存在文件傳輸載體。 在網(wǎng)絡(luò)編程中, 客戶端使用 Socket 對網(wǎng)絡(luò)上某一個(gè)服務(wù)器的某一個(gè)端口發(fā)出 連接請求,一旦連接成功,打開會話;會話完成后,關(guān)閉 Socket。 服務(wù)器使用 Socket 監(jiān)聽指定的端口,端口可以隨意指定,等待客戶連接請求,客戶連接后,會話產(chǎn)生;在完成會話后,關(guān)閉連接。( 2)依靠可移動磁盤的兩次信息轉(zhuǎn)移實(shí)現(xiàn)。此三種方法并非不可行,但它們都需要花費(fèi)較長的時(shí)間以及安全性也得不到保證,工作效 率將在很大程度上受到限制。 最 重要的是,在如今病毒黑客橫行的網(wǎng)絡(luò)世界中,信息的安全性也得不到保證。 現(xiàn)行系統(tǒng)存在的主要問題分析 針對企業(yè)來說,提高工作效率是企業(yè)的一個(gè)重心;降低成本是企業(yè)贏取最大利益的重要方式;保證信息安全卻是可能影響企業(yè)生死存亡的關(guān)鍵。而傳統(tǒng)的文件資源交互方式卻存在很多的問題,大致可以分為: 一、不能有效地降低文件交互成本;二、文件交換過程過于繁瑣;三、內(nèi) 部機(jī)密資料得不到安全保證;四、文件交互的準(zhǔn)確性得不到更本保證。根據(jù)企業(yè)簡單快速,安全的資源共享等要求 ,提出以下四種解決方案: 1)操作簡單性方案:開發(fā)的系統(tǒng)需要有以下特點(diǎn): Windows 友好的用戶界面和系統(tǒng)快速的應(yīng)用方法,簡單易操作,不需對使用人員進(jìn)行培訓(xùn),可以使用戶很好的掌握。而且開發(fā)的系統(tǒng)應(yīng)該簡單易操作,易維護(hù),減少了不必要的麻煩。系統(tǒng)應(yīng)為用戶提供 Windows 所一貫堅(jiān)持的非常友好、操作簡單的用戶界面。 3)經(jīng)濟(jì)可行性方案:系統(tǒng)開發(fā)完成必須作到提高文件共享效率,不管是在資金上還是效率上都能達(dá)到預(yù) 期的效果的。 4)快速準(zhǔn)確性方案:鑒于系統(tǒng)的目標(biāo)要求和特點(diǎn),能夠保證快速準(zhǔn)確地實(shí)現(xiàn)文件共享。徹底避免了文件交換過程與外部網(wǎng)絡(luò)的接觸,實(shí)現(xiàn)快速的文件資源共享。 4 系統(tǒng)設(shè)計(jì) 系統(tǒng)總體架構(gòu) 本系統(tǒng)的設(shè)計(jì)過程主要分為兩部分: 第一部分:系統(tǒng)界面的設(shè)計(jì)以及獲取局域網(wǎng)內(nèi)所有在線用戶的主機(jī)名, IP地址以及工作組名。 第二部分:文件傳輸是本設(shè)計(jì)功能實(shí)現(xiàn)的核心。文件傳輸需要建立有效的連接后,通過 TCP/IP 協(xié)議實(shí)現(xiàn)點(diǎn)對點(diǎn)的文件傳輸。文件傳輸?shù)恼?個(gè)流程圖如下: 第 6 頁 共 26頁 TCP/IP 3 次握手 SOCKET 流 三次握手 圖 2 文件傳輸系統(tǒng)框架圖 系統(tǒng)界面設(shè)計(jì) 界面設(shè)計(jì) 界面是系統(tǒng)功能得以實(shí)現(xiàn)的基本平臺,這里充分利用 Delphi 可視化開發(fā)環(huán)境以各種組件設(shè)置。 設(shè)置的界面如下圖: 客戶端主機(jī) 服務(wù)器端主機(jī) 套節(jié)字連接請求 連接響應(yīng) 寫入文件流 接收文件流 并保存 斷開連接 斷開連接響 應(yīng) LIANJIETCP 第 7 頁 共 26頁 圖 3 基于局域網(wǎng)的文件傳輸系統(tǒng)界面 用戶信息 用戶列表建立以后,將局域網(wǎng)內(nèi)所有在線用戶的主機(jī)名,主機(jī) IP 地址以及工作組名顯示于列表中。這里對他們分別設(shè)置了一個(gè)信息發(fā)送的頭信息,分別設(shè)置為:LOGIN, HAND 以及 LOGOUT。局域網(wǎng)內(nèi)所有在線主機(jī)收到該廣播信息以后將新上線的主機(jī)名,端口, IP 地址以及工作組信息添加到自己的在線用戶列表并都以 HAND 為頭信息向局域網(wǎng)廣播本機(jī)的握手信息;當(dāng)包括剛上線主機(jī)在內(nèi)的局域網(wǎng)所有主機(jī)收到這個(gè)握手信息以后線判斷自己的在線用戶列表中是否存在這個(gè)主機(jī)廣播的主機(jī)信息,如果不存在就說明它是剛上線主機(jī),最后將這個(gè)信息添加到自己在線列表,否則就不加;當(dāng)用戶下線的時(shí)候也將自己的信息以LOGOUT 為頭信息廣播給局域網(wǎng),其他在線用戶收到這個(gè)消息以后將其主機(jī)信息從本地在線用戶列表刪除。 //新用戶上線 以 LOGIN 為頭信息 var wsadata:twsadata。 //本機(jī)信息 pmyname:array[0..1023]of char。 i,j:integer。 //把程序圖標(biāo)顯示在系統(tǒng)托盤里邊 if wsastartup($101,wsadata)0 then exit。 //獲取主機(jī)名 myname:=strpas(pmyname)。 clist:=。 //獲取本機(jī) IP for i:=0 to do begin getusers([i],clist)。 //獲 本機(jī)工作 組 end。 。 myinfo:=format(39。,[39。,myname,myworkgroup])。 (myinfobuf,9000)。 function (ip,name,workgroup:string。 //向好友發(fā)握手信息 var minfobuf:array[0..1023]of char。 begin minfo:=format(39。,[39。,name,workgroup])。 (ip,port,minfobuf,sizeof(minfobuf))。 procedure (Sender: TObject)。 mylogoutinfo:string。%6s%255s39。LOGOUT39。 strpcopy(mylogoutbuf,mylogoutinfo)。 // 廣播自己離線信息 。 第 9 頁 共 26頁 系統(tǒng)功能模塊設(shè)計(jì) 獲取用戶信息 本部分主要是顯示用戶列表中在線用戶的主機(jī)名,主機(jī)的 IP 地址以及工作組名三部分,代碼分別進(jìn)行介紹如下: 獲取局域網(wǎng)內(nèi)用戶名的源代碼如下: Function ( GroupName : string。 //獲取工作組的計(jì)算機(jī)名稱 type TNetResourceArray = ^TNetResource。 Buf : Pointer。 Ind : Integer。 Temp : TNetResourceArray。 Begin Result := False。////初始化網(wǎng)絡(luò)層次信息 := RESOURCEDISPLAYTYPE_SERVER。 := RESOURCETYPE_DISK。 If Res NO_ERROR Then Exit。//不限資源數(shù)目 BufSize := 8192。//申請內(nèi)存,用于獲取工作組信息 /獲取計(jì)算機(jī)名稱 Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize)。//資源列舉完畢 If (Res NO_ERROR) then Exit。 For Ind := 0 to Count 1 do//列舉工作組的計(jì)算機(jī)名稱 Begin tmpStr:=。 (tmpstr)。 End。 Res := WNetCloseEnum(lphEnum)。//執(zhí)行失敗 Result := True。 End。 AData: TStream。 var readbuf:array[0..2030]of char。 recvport:integer。 begin ZeroMemory(readbuf[0],2030)。 msg:=Trim(String(Pchar(Readbuf[0])))。 head:=trim(copy(msg,1,headlen))。LOGIN39。 recvport:=9000。login recv39。 recvname:=copy(msg,headlen+1,namelen)。 adduser(recvname,recvworkgroup,recvip,recvport)。 { minfo:=format(39。,[39。,myname,myworkgroup])。 (recvip,recvport,minfobuf,sizeof(minfobuf))。 if head=39。then //添加對方返回的自己的 ip (對比 ) begin // (39。)。 recvip:=copy(msg,headlen+portlen+1,iplen)。 if head=39。 THEN //處理握手信息 添加對方 ip 返回對方 ip BEgin // (39。)。 recvworkgroup:=copy(msg,headlen+namelen+1,workglen)。 recvport:=9000。 END。LOGOUT39。 if mynamerecvname then deleteuser(recvname)。 Function ( var List : TStringList ) : Boolean。 //初始化網(wǎng)絡(luò)層次信息 Buf : Pointer。 lphEnum : THandle。 i,j : SmallInt。 //返回局域網(wǎng)中的工作組類型 Begin Result := False。 //獲取局域網(wǎng)中的工作組信息 。 //得到網(wǎng)絡(luò)中的所有工作組的名稱 If Res NO_ERROR Then exit。//執(zhí)行失敗 //獲取整個(gè)網(wǎng)絡(luò)中的網(wǎng)絡(luò)類型信息 Count := $FFFFFFFF。//緩沖區(qū)大小設(shè)置為 8K GetMem(Buf, BufSize)。 //獲取計(jì)算機(jī)名稱 If ( Res = ERROR_NO_MORE_ITEMS ) //資源列舉完畢 or (Res NO_ERROR) //執(zhí)行失敗 then break。 For I := 0 To Count 1 Do //列舉各個(gè)工作組的信息 Begin ( StrPAS( P^.lpRemoteName )) 。 End。 Res := WNetCloseEnum(lphEnum)。//執(zhí)行失敗 End。 FreeMem(Buf)。 End。所以系統(tǒng)設(shè)置一個(gè)“刷新”按鈕,當(dāng)用戶點(diǎn)擊
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1