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

正文內(nèi)容

畢業(yè)設(shè)計(jì)畢業(yè)論文計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)遠(yuǎn)程控制軟件的設(shè)計(jì)與開發(fā)(編輯修改稿)

2025-01-08 20:32 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 問現(xiàn)有服務(wù)配置中的新設(shè)備 (2) TCP流式套接字 如果我們需要一個(gè)可靠的連接,用來使數(shù)據(jù)按順序、無錯(cuò)的發(fā)送到目標(biāo)端,就需要流式套接字。流式套接字提供一種可靠的面向連接地傳輸方法。數(shù)據(jù)無重復(fù)、無差錯(cuò),并且按發(fā)送端發(fā)出數(shù)據(jù)的順序進(jìn)行接收。不管對(duì)單個(gè)的數(shù)據(jù)報(bào)或者是一整個(gè)數(shù)據(jù)包,流式套接字都提供一種協(xié)議的歷史傳輸 —— TCP。除此之外,在數(shù)據(jù)進(jìn)行傳輸時(shí),如果一端的連接斷開,則另一端的應(yīng)用 程序會(huì)接到通知。流式套接字內(nèi)設(shè)流量控制,避免數(shù)據(jù)流超限;數(shù)據(jù)被看成字節(jié)流,無長(zhǎng)度限制。 (3) UDP數(shù)據(jù)報(bào)套接字 數(shù)據(jù)報(bào)套接字是提供一種非連接、不可靠的通信方式。在這里的“不可靠”是指發(fā)送的數(shù)據(jù)不能得到保障,也不保障數(shù)據(jù)按原來發(fā)出時(shí)的順序到達(dá)目標(biāo)端。數(shù)據(jù)包以獨(dú)立xxxx 計(jì)算機(jī)遠(yuǎn)程控制軟件的設(shè)計(jì)與開發(fā) 8 包形式被發(fā)送,不提供無錯(cuò)保證,數(shù)據(jù)可能丟失或重復(fù),并且順序混亂。事實(shí)上,一份數(shù)據(jù)可能不止一次被發(fā)送。對(duì)于基于 Java的 Socket網(wǎng)絡(luò)編程的 TCP/IP實(shí)現(xiàn),數(shù)據(jù)報(bào)套接字使用用戶數(shù)據(jù)報(bào)協(xié)議( UDP)。雖然在通常情況下,在同一臺(tái)計(jì)算機(jī)上的兩個(gè)進(jìn)程或在 輕負(fù)載的局域網(wǎng)所連接的兩臺(tái)計(jì)算機(jī)的進(jìn)程之間進(jìn)行通信時(shí),可能不會(huì)出現(xiàn)數(shù)據(jù)包丟失或沒按照順序到達(dá)及又重復(fù)發(fā)送的情況,但在編寫實(shí)用 UDP協(xié)議進(jìn)行進(jìn)程間通信的程序是,應(yīng)考慮到這些情況,并且能做出應(yīng)對(duì)措施。當(dāng)然,如果為非常復(fù)雜的網(wǎng)絡(luò)(如Inter)編寫通信應(yīng)用程序,就應(yīng)該考慮到數(shù)據(jù)報(bào)套接字的不可靠性。如果應(yīng)用程序不能很好的處理這些問題,很可能導(dǎo)致程序崩潰。盡管如此,數(shù)據(jù)報(bào)套接字在發(fā)送數(shù)據(jù)包或者記錄形數(shù)據(jù)時(shí)仍然有用。另外,數(shù)據(jù)報(bào)套接字還提供向多個(gè)目的地發(fā)送廣播數(shù)據(jù)包的能力。 基本套接字函數(shù)調(diào)用 大多數(shù)的數(shù) 據(jù)報(bào)套接字應(yīng)用程序都使用一個(gè)規(guī)定的事件序列來完成客戶應(yīng)用程序與服務(wù)器之間的通信,如下圖所示: 圖 信息交互 Information interaction 首先服務(wù)端與客戶端都要?jiǎng)?chuàng)建一個(gè) Socket(套接字),然后服務(wù)端 ServerSocket綁定端口和 IP,這樣客戶端就能使用同一端口表示服務(wù)器套接字,然后服務(wù)器與客戶端建立通信,即 Sendto()和 Recvfrom()信息交互。下面步奏介紹了套接字使用的步奏。 xxx 學(xué)院本科生畢業(yè)論文 (設(shè)計(jì) ) 9 創(chuàng)建套接字 Java 對(duì) Socket 操作進(jìn)行了很好的封裝, 即 類,此類實(shí)現(xiàn)服務(wù)器套接字。服務(wù)器套接字等待請(qǐng)求通過網(wǎng)絡(luò)傳入。它基于請(qǐng)求執(zhí)行某些操作,然后可能向請(qǐng)求者返回結(jié)果。在這里我們使用到的構(gòu)造方法為 ServerSocket(int port);該構(gòu)造方法創(chuàng)建以本機(jī) IP 為 IP 地址,以 port 為端口的套接字,參數(shù) port 端口號(hào);或者為 0,表示使用任何空閑端口。 建立套接字連接 等待連接我們使用了 類的 accept()方法,該方法偵聽并接受到此套接字的連接。此方法在連接傳 入之前一直阻塞。一旦接受到請(qǐng)求,則創(chuàng)建新的套接字與之連接交互信息。 數(shù)據(jù)傳輸 有了套接字連接后,我們就可以進(jìn)行任意的數(shù)據(jù)傳輸了。在自定義了 Sendto()與Recvfrom()方法后則可進(jìn)行任意數(shù)據(jù)傳輸。 Java 對(duì)傳輸流進(jìn)行了很好的封裝,這里我們主要用到 以及 里面的流操作類: (1) . ImageIO 類 該類包含一些用來查找 ImageReader 和 ImageWriter 以及執(zhí)行簡(jiǎn)單編碼和解碼的靜態(tài)便捷方法。主要用于遠(yuǎn)程 圖像的傳輸。 read(URL input)方法:返回一個(gè) BufferedImage,作為使用 ImageReader(它是從當(dāng)前已注冊(cè) ImageReader 中自動(dòng)選擇的)解碼所提供 URL 的結(jié)果。 InputStream 是從 URL 中獲得的,它被封裝在 ImageInputStream 中。 write(RenderedImage im, String formatName, ImageOutputStream output)方法:使用支持給定格式的任意 ImageWriter 將一個(gè)圖像寫 入 ImageOutputStream。從當(dāng)前流指針開始將圖像寫入 ImageOutputStream,并覆蓋該點(diǎn)之后的現(xiàn)有流數(shù)據(jù)(如果有)。 此方法在寫入操作完成后不會(huì)關(guān)閉提供的 ImageOutputStream;一個(gè)嚴(yán)謹(jǐn)?shù)某绦?,?yīng)該在實(shí)用完后對(duì)流進(jìn)行關(guān)閉,減輕系統(tǒng)負(fù)擔(dān)。 (2) . InputStream 類 xxxx 計(jì)算機(jī)遠(yuǎn)程控制軟件的設(shè)計(jì)與開發(fā) 10 read()方法:從輸入流中讀取數(shù)據(jù)的下一個(gè)字節(jié)。返回 0 到 255 范圍內(nèi)的 int 字節(jié)值。如果因?yàn)橐呀?jīng)到達(dá)流末尾而沒有可用的字節(jié),則返回值 1。在輸入數(shù)據(jù)可用、檢測(cè)到流末尾 或者拋出異常前,此方法一直阻塞。 (3) . OutputStream 類 write(int b)方法:將一個(gè) integer(數(shù)組長(zhǎng)度)寫入此流。 (4) . File 類 主要用于文件或目錄的操作。 File(String pathname)方法:通過將給定路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個(gè)新 File 實(shí)例。如果給定字符串是空字符串,那么結(jié)果是空抽象路徑名。 delete()方法:刪除此抽象路徑名表示的文件或目錄。如果此路徑名表示一個(gè)目錄,則該目錄必須為空才能刪除 。 exists()方法:測(cè)試此抽象路徑名表示的文件或目錄是否存在。 isDirectory()方法:測(cè)試此抽象路徑名表示的文件是否是一個(gè)目錄。 isFile()方法:測(cè)試此抽象路徑名表示的文件是否是一個(gè)標(biāo)準(zhǔn)文件。 list()方法:返回一個(gè)字符串?dāng)?shù)組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄。 mkdirs()方法:創(chuàng)建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。 listRoots()方法:列出可用的文件系統(tǒng)根。 (5) 類 exec(String mand)方法:在單獨(dú)的進(jìn)程中執(zhí)行指定的字符串命令。參數(shù)mand:一條指定的系統(tǒng)命令。 (6) 類 使用該類提供的一系列方法可以模擬鼠標(biāo)、鍵盤操作事件以及屏幕截圖,達(dá)到遠(yuǎn)程監(jiān)控的目的。 createScreenCapture(Rectangle screenRect)方法:創(chuàng)建包含從屏幕中讀取的像素的圖像。該圖像不包括鼠標(biāo)光標(biāo)。 mouseMove(int x, int y)方法:將鼠標(biāo)指針移動(dòng)到給定屏幕坐標(biāo)。 mouseWheel(int wheelAmt)方法:在配有滾輪的鼠標(biāo)上旋轉(zhuǎn)滾輪。 keyPress(int keycode)方法:按下給定的鍵。應(yīng)該使用 keyRelease 方法釋放該鍵。 xxx 學(xué)院本科生畢業(yè)論文 (設(shè)計(jì) ) 11 keyRelease(int keycode)方法:釋放給定的鍵。 mousePress(int buttons)方法:按下一個(gè)或多個(gè)鼠標(biāo)按鈕。應(yīng)該使用 mouseRelease 方法釋放鼠標(biāo)按鈕。 mouseRelease(int buttons)方法:釋放一個(gè)或多個(gè)鼠標(biāo)按鈕。 以上為數(shù)據(jù)交互使用到的 Java 類, Java 很好的封裝了這些操作,使得程序 的設(shè)計(jì)簡(jiǎn)單又結(jié)構(gòu)性強(qiáng),更好的體現(xiàn)了 Java 的面向?qū)ο筇匦浴? 關(guān)閉套接字 在數(shù)據(jù)交互完成后,都要改關(guān)閉不在使用的 Socket,本遠(yuǎn)程控制軟件使用了 close()方法關(guān)閉此套接字。 所有當(dāng)前阻塞于此套接字上的 I/O 操作中的線程都將拋出SocketException。 套接字被關(guān)閉后,便不可在以后的網(wǎng)絡(luò)連接中使用(即無法重新連接或重新綁定)。關(guān)閉此套接字也將會(huì)關(guān)閉該套接字的 InputStream 和 OutputStream。 如果此套接字有一個(gè)與之關(guān)聯(lián)的通道,則關(guān)閉該通道。 C/S 結(jié)構(gòu)特 點(diǎn)及發(fā)展 C/S 又稱 Client/Server 或客戶 /服務(wù)器模式。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到 Client 端和 Server 端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是 Client/Server 形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的 Web 應(yīng)用發(fā)展, Web 和 Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;但兩種應(yīng)用都有著自己的優(yōu)勢(shì),怎么使用取舍取決于對(duì)業(yè)務(wù)的需求。 傳統(tǒng)的 C/S 體系結(jié)構(gòu)雖然采用的 是開放模式,但這只是系統(tǒng)開發(fā)一級(jí)的開放性,在特定的應(yīng)用中無論是 Client 端還是 Server 端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境, C/S 結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件, 加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶同時(shí)使用。而且代價(jià)高, 效率低。但是 Java 的平臺(tái)無關(guān)性可以很好的解決這個(gè)問題,實(shí)用Java 開發(fā)的應(yīng)用程序,不管在什么樣的操作系統(tǒng)中都能得到很好的支持。 用 C/S 模式設(shè)計(jì)本系統(tǒng)的優(yōu)勢(shì)在于: (1) 應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。最簡(jiǎn)單的 C/S 體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和服務(wù)器程序。二者可分別稱為客戶端與服務(wù)端。運(yùn)行服務(wù)端的xxxx 計(jì)算機(jī)遠(yuǎn)程控制軟件的設(shè)計(jì)與開發(fā) 12 機(jī)器,也稱為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動(dòng),就隨時(shí)等待響應(yīng)客戶程序發(fā)來的請(qǐng)求;客戶應(yīng)用程序運(yùn)行在用戶自己的電腦上,對(duì)應(yīng)服務(wù)器,可稱為客戶電腦,當(dāng)需要對(duì)遠(yuǎn)程控制端進(jìn)行操作時(shí),客戶程序就自動(dòng)地尋找服務(wù)器程序,并向其發(fā)出請(qǐng)求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。 (2) 服務(wù)端對(duì)于業(yè)務(wù)邏輯進(jìn)行和很好的封裝。對(duì)于客戶端傳來的請(qǐng)求,服務(wù)端進(jìn)行很好的處理,這里我們把處理響應(yīng) 的業(yè)務(wù)邏輯都封裝在服務(wù)端里,使得客戶端顯得非?!笆菪 ?,是軟件實(shí)用更加靈活。 除此之外, C/S 模式設(shè)計(jì)的軟件能充分發(fā)揮客戶端 PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。 TCP/IP 體系結(jié)構(gòu) TCP/IP 這個(gè)協(xié)議遵守一個(gè)四層的模型概念:應(yīng)用層、傳輸層、網(wǎng)絡(luò)互聯(lián)層和網(wǎng)絡(luò)層 網(wǎng)絡(luò)層 TCP/IP 模型的基層是網(wǎng)絡(luò)接口層。負(fù)責(zé)數(shù)據(jù)幀的發(fā)送和接收,幀是獨(dú)立的網(wǎng)絡(luò)信息傳輸單元。網(wǎng)絡(luò)接口層將幀放在網(wǎng)上,或從網(wǎng)上把幀取下來。 實(shí)際上 TCP/IP 參考模型沒有真 正描述這一層的實(shí)現(xiàn),只是要求能夠提供給其上層 — 網(wǎng)絡(luò)互連層一個(gè)訪問接口,以便在其上傳遞 IP 分組。由于這一層次未被定義,所以其具體的實(shí)現(xiàn)方法將隨著網(wǎng)絡(luò)類型的不同而不同。 互聯(lián)層 網(wǎng)絡(luò)互連層是整個(gè) TCP/IP 協(xié)議棧的核心。它的功能是把分組發(fā)往目標(biāo)網(wǎng)絡(luò)或主機(jī)。同時(shí),為了盡快地發(fā)送分組,可能需要沿不同的路徑同時(shí)進(jìn)行分組傳遞。因此,分組到達(dá)的順序和發(fā)送的順序可能不同,這就需要上層必須對(duì)分組進(jìn)行排序。 網(wǎng)絡(luò)互連層定義了分組格式和協(xié)議,即 IP 協(xié)議( Inter Protocol)。 網(wǎng)絡(luò)互連層除 了需要完成路由的功能外,也可以完成將不同類型的網(wǎng)絡(luò)(異構(gòu)網(wǎng))互連的任務(wù)。除此之外,網(wǎng)絡(luò)互連層還需要完成擁塞控制的功能。 互聯(lián)協(xié)議將數(shù)據(jù)包封裝成 inter 數(shù)據(jù)報(bào),并運(yùn)行必要的路由算法。 這里有四個(gè)互聯(lián)協(xié)議: (1) 網(wǎng)際協(xié)議 IP:負(fù)責(zé)在主機(jī)和網(wǎng)絡(luò)之間尋址和路由數(shù)據(jù)包。 xxx 學(xué)院本科生畢業(yè)論文 (設(shè)計(jì) ) 13 (2) 地址解析協(xié)議 ARP:獲得同一物理網(wǎng)絡(luò)中的硬件主機(jī)地址。 (3) 網(wǎng)際控制消息協(xié)議 ICMP:發(fā)送消息,并報(bào)告有關(guān)數(shù)據(jù)包的傳送錯(cuò)誤。 (4) 互聯(lián)組管理協(xié)議 IGMP:被 IP 主機(jī)拿來向本地多路廣播路由器報(bào)告主機(jī)組成員。 傳輸層 傳輸協(xié)議在計(jì)算機(jī)之間提供通信會(huì)話。傳輸協(xié)議的選擇根據(jù)數(shù)據(jù)傳輸方式而定。 兩個(gè)傳輸協(xié)議: (1) 傳輸控制協(xié)議 TCP:為應(yīng)用程序提供可靠的通信連接。適合于一次傳輸大批數(shù) 據(jù)的情況。并適用于要求得到響應(yīng)的應(yīng)用程序。 (2) 用戶數(shù)據(jù)報(bào)協(xié)議 UDP:提供了無連接通信,且不對(duì)傳送包進(jìn)行可靠的保證。適 合于一次傳輸小量數(shù)據(jù),可靠性則由應(yīng)用層來負(fù)責(zé)。 應(yīng)用層 TCP/IP 模型將 OSI 參考模型中的會(huì)話層和表示層的功能合并到應(yīng)用層實(shí)現(xiàn)。 應(yīng)用層面向不同的網(wǎng)絡(luò)應(yīng)用引入了不同的應(yīng)用層 協(xié)議。其中,有基于 TCP 協(xié)議的,如文件傳輸協(xié)議( File Transfer Protocol, FTP)、虛擬終端協(xié)議( TELNET)、超文本鏈接協(xié)議( Hyper Text Transfer Protocol, HTTP),也有基于 UDP 協(xié)議的。 多線程 在一個(gè)應(yīng)用程序中,一些獨(dú)立運(yùn)行的程序片斷被稱作“線程”( Thread),利用它編程的概念就叫作“多線程技術(shù)”。多線程技術(shù)一個(gè)常見的例子就是用戶界面。利用線程當(dāng)用戶按下按鈕后,方法與主界面流程可以一起往下執(zhí)行,而不是等待方法執(zhí)行后才繼續(xù)往下。 在計(jì)算 機(jī)編程中,一個(gè)基本的概念就是同時(shí)對(duì)多個(gè)任務(wù)加以控制。許多程序設(shè)計(jì)問題都要求程序能夠同步的處理工作,即工作能同時(shí)進(jìn)行,而不是等待一個(gè)方法執(zhí)行完后再接著執(zhí)行主進(jìn)程。對(duì)于不同的需求,可以通過多種途徑達(dá)到這個(gè)目的。最開始的時(shí)候,那些掌握機(jī)器
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1