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

正文內(nèi)容

多線程網(wǎng)絡(luò)文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_畢業(yè)論文-全文預(yù)覽

2025-04-01 08:35 上一頁面

下一頁面
  

【正文】 接字和客戶 服務(wù)器通信 統(tǒng)一資源定位符( URL)是在因特網(wǎng)上訪問站點(diǎn)和資源的一種重要機(jī)制。參數(shù): s: Socket 的識(shí)別碼 buf:存放要傳送的資料的暫存區(qū); len buf:的長度; flags:此函數(shù)被調(diào)用的方式。 int PASCAL FAR connect( SOCKET s, const struct sockaddr FAR *name, int namelen )。 參數(shù): s: Socket 的識(shí)別碼; int PASCAL FAR WSACleanup( void )。 socket 連接 結(jié)束服務(wù)器和客戶端的通信連接是很簡單的,這一過程可以由服務(wù)器或客戶機(jī)的任一端啟動(dòng),只要調(diào)用 closesocket()就可以了,而要關(guān)閉 Server 端監(jiān) 19 聽狀態(tài)的 socket,同樣也是利用此函數(shù)。為了使服務(wù)器端接受客戶端的連接請(qǐng)求,就要使用 accept() 函數(shù),該函數(shù)新建一 Socket 與客戶端的 Socket 相通,原先監(jiān)聽之 Socket 繼續(xù)進(jìn)入監(jiān)聽狀態(tài),等待他人的連接要求。 int PASCAL FAR WSAAsyncSelect( SOCKET s, HWND hWnd,unsigned int wMsg, long lEvent )。 18 int PASCAL FAR listen( SOCKET s, int backlog )。此后可以調(diào)用 getsockname()函數(shù)來獲知其被設(shè)定的值。 此 函 數(shù) 調(diào) 用 成 功 返 回 Socket 對(duì) 象 , 失 敗 則 返 回INVALID_SOCKET(調(diào)用 WSAGetLastError()可得知原因,所有 WinSocket 的API 函數(shù)都可以使用這個(gè)函數(shù)來獲取失敗的原因 )。 WSAStartup() 此函數(shù)在應(yīng)用程序中 初始化 Windows Sockets DLL ,只有此函數(shù)調(diào)用成功后,應(yīng)用程序才可以再調(diào)用其它 Windows Sockets DLL 中的 API 函數(shù)。 為了方便這種 Client/Server 模型的網(wǎng)絡(luò)編程, 90 年代初,由 Microsoft聯(lián)合了其它幾家公司共同制定了一套 WINDOWS 下的網(wǎng)絡(luò)編 程接口, 即Windows Sockets 規(guī)范,它不是一種網(wǎng)絡(luò)協(xié)議 ,而是一套開放的、支持多種協(xié)議的 Windows 下的網(wǎng)絡(luò)編程接口。斷點(diǎn)續(xù)傳的思想其實(shí) 比較簡單,在下載文件的同時(shí)生成一個(gè)臨時(shí)文件 ,并記錄文件的一些相關(guān)信息, 一旦文件停止下載,臨時(shí)文件保存上述信息,下次重新下載時(shí)先讀取文件的相關(guān)信息 當(dāng)各個(gè)線程開始下載以后,并記錄各個(gè)線程下載文件進(jìn)程,每下載一定大小就記錄一次,并把文件下載進(jìn)度寫到磁盤文件中,以防斷電,直到下載結(jié)束。 用來接收文件的客戶端的多線程文件傳輸是最重要,也最復(fù)雜,它負(fù)責(zé)線程的管理,進(jìn)度的記錄等工作。該軟件下載過程前先申請(qǐng)空間, 16 然后按下載的文件塊的序號(hào),寫到相應(yīng)的文件位置中。 ? 用戶之間互相交換他們己經(jīng)下載的文件塊的信息,若需要(某用戶覺得自己的下載速度慢,且自己的網(wǎng)絡(luò)帶寬的利用率遠(yuǎn)遠(yuǎn)不夠,需要獲得更多的其他用戶的地址)的話交換他們所擁有的其他用戶的地址信息。若同意該用戶下載文件塊,服務(wù)器將優(yōu)先選擇還沒有被其他用戶下載的文件塊。文件分塊算法描述如下: ? 欲下載某一文件的用戶首先獲得提供該文件的服務(wù)器的地址(包括 IP 地址和端口號(hào),該服務(wù)器一定得是公網(wǎng)上的一臺(tái)計(jì)算機(jī),即該服務(wù)器不位于任何 NAT 和防火墻之后)。除了暫停的線程外,其他許多線程也是不可調(diào)度的線程,因?yàn)樗鼈冋诘却承┦虑榈陌l(fā)生。注意,無法保證線程總是能夠運(yùn)行,也不能保證線程能夠得到整個(gè)進(jìn)程,無法保證其他線程不被允許運(yùn)行等等。這項(xiàng)操作稱為上下文轉(zhuǎn)換。這個(gè)上下文結(jié)構(gòu)反映了線程上次運(yùn)行時(shí)該線程的 CPU寄存器的狀態(tài)。 ? 如果線程是進(jìn)程中最后一個(gè)活動(dòng)線程,系統(tǒng)也將進(jìn)程視為已經(jīng)終止運(yùn)行。但是一個(gè)線程擁有兩個(gè)用戶對(duì)象,即窗口和掛鉤。該內(nèi)存是從進(jìn)程的地址空間分配而來的,因?yàn)榫€程并不擁有它自己的地址空間。新線程運(yùn)行的進(jìn)程環(huán)境與創(chuàng)建線程的環(huán)境相同。 當(dāng) CreateThread 被調(diào)用時(shí),系統(tǒng)創(chuàng)建一個(gè)線程內(nèi)核對(duì)象。線程函數(shù)可以使 14 用任何合法的名字。線程技術(shù)使不同的代碼可以同時(shí)運(yùn)行。這些線程還能共享內(nèi)核對(duì)象句柄,因?yàn)榫浔硪蕾囉诿總€(gè)進(jìn)程而不是每個(gè)線程存在。線程總是在某個(gè)進(jìn)程環(huán)境中創(chuàng)建的,而且它的整個(gè)壽命期都在該進(jìn)程中。 1.一個(gè)是線程的內(nèi)核對(duì)象,操作系統(tǒng)用它來對(duì)線程實(shí)施管理。 Exit Process()函數(shù)即可在進(jìn)程中的某個(gè)線程中使用,并將立即終止本進(jìn)程的運(yùn)行。 13 結(jié)束進(jìn)程:進(jìn)程只是提供了一段地址空間和內(nèi)核對(duì)象,其運(yùn)行是通過在其地址空間內(nèi)的主線程來 體現(xiàn)的。 服務(wù)器( Server) 服務(wù)器指一個(gè)管理資源并為用戶提供服務(wù)的計(jì)算機(jī)軟件,通常分為文件服務(wù)器、數(shù)據(jù)庫服務(wù)器和應(yīng)用程序服務(wù)器。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。在估計(jì)該連接所需的當(dāng)前延遲時(shí)通常利用一些統(tǒng)計(jì)學(xué)的原理和算法(如 Karn 算法),從而得到 TCP 重發(fā)之前需要等待的時(shí)間值。目前采用較多的算法是 Jacobson 于1988 年提出的一種不斷調(diào)整超時(shí)時(shí)間間隔的動(dòng)態(tài)算法。在發(fā)送一個(gè)數(shù)據(jù)段的同時(shí)啟動(dòng)一個(gè)重發(fā)定時(shí)器,如果在定時(shí)器超時(shí)前收到確認(rèn) 就關(guān)閉該定時(shí)器,如果定時(shí)器超時(shí)前沒有收到確認(rèn),則重傳該數(shù)據(jù)段。如果一方的應(yīng)用程序先傳 10 字節(jié),又傳 20 字節(jié),再傳 50 字節(jié),連接的另一方將無法了解發(fā)方每次發(fā)送了多少字節(jié)。這將防止較快主機(jī)致使較慢主機(jī)的緩沖區(qū)溢出。 4. 既然 TCP 報(bào)文段作為 IP 數(shù)據(jù)報(bào)來傳輸,而 IP 數(shù)據(jù)報(bào)的到達(dá)可能會(huì)失序,因此TCP 報(bào)文段的到達(dá)也可能會(huì)失序。當(dāng) TCP 收到發(fā)自 TCP 連接另一端的數(shù)據(jù),它將發(fā)送一個(gè)確認(rèn)。這和 UDP 完全不同,應(yīng)用程序產(chǎn)生的數(shù)據(jù)報(bào)長度將保持不變。這一過程與打電話很相似,先撥號(hào)振鈴,等待對(duì)方摘機(jī)說 “ 喂 ” ,然后才說明是 誰 。不是所用的 TCP通信量始終都能通過所有的防火墻, UDP經(jīng)常用作視頻和音頻流(例如 RealAudio)的傳輸方式。因此,它通常用于多媒體應(yīng)用,如實(shí)時(shí)的視頻會(huì)議,流式音頻和視頻以及因特網(wǎng)電話。基本上, UDP 在 IP 上增加了端口尋址功能。即使在 Inter 暫時(shí)出現(xiàn)堵塞的情況下, TCP 也能夠保證通信的可靠。 TCP 提供 端到端 、全雙工通信;采用字節(jié)流方式,如果字節(jié)流太長,將其分段;提供緊急數(shù)據(jù)傳送功能。 WINSOCK 是在 Windows 進(jìn)行網(wǎng)絡(luò)通信編程的 API 接口,也是 Windws 網(wǎng)絡(luò)編程的事實(shí)標(biāo)準(zhǔn)。 TCP 提供端到端通信;采用字節(jié)流方式,如果字節(jié)流太長,將其分段;提供緊急數(shù)據(jù)傳送功能。這樣就能看到完整的已發(fā)送和已接收到的消息列表,還可以對(duì)發(fā)送消息的應(yīng)用程序和接收消息的應(yīng)用程序進(jìn)行比較。最后,如果一方或雙 方完成了對(duì)話,連接即關(guān)閉,就像打完電話一樣,你能夠知道電話中的對(duì)方是否把電話給掛斷了,或者雙方由于其它原因連接不上了。當(dāng)然,要完成電話的呼叫,必須知道被呼叫方的電話號(hào)碼。計(jì)算機(jī)上的一個(gè)應(yīng)用程序正在等待另一個(gè)程序打開通信連接,可以說這前一個(gè)應(yīng)用程序正在“偵聽”該連接請(qǐng)求,這很像你在等待某人給你打電話時(shí),一直在留心電話鈴聲。 服務(wù)器只能開啟一個(gè),并向客戶端傳送文件,客戶端可 以開啟多個(gè),并且可以同時(shí)接收服務(wù)器的文件,傳送文件時(shí),服務(wù)器可以實(shí)現(xiàn)對(duì)文件的分割,所以可以傳送較大的文件。根據(jù)客戶端對(duì)服務(wù)器端訪問的特點(diǎn),在服務(wù)器端采用異步方式監(jiān)聽客戶端的連接請(qǐng)求,避免客戶端長時(shí)間等待服務(wù)器端的回應(yīng)出現(xiàn)卡死現(xiàn)象,更好的完成客戶的文件傳輸需求,充分利用服務(wù)器端的系統(tǒng)資源。其中服務(wù)器端開啟服務(wù),監(jiān)聽客戶端的連接,然后如果有客戶端開啟,建立了連接以后,就可以由服務(wù)器端選擇文件來進(jìn)行發(fā)送傳輸。 綜上所述,目前的文件傳輸系統(tǒng)在文件多線程傳輸?shù)膶?shí)現(xiàn)上還不是很完善,雖然可供用戶選擇的文件傳輸軟件種類繁多,但仍然存在質(zhì)量良莠不齊、功能各有異同的問題 ,用戶在使用的時(shí)候也總會(huì)遇到諸多的不便,需要對(duì)一些技術(shù)做進(jìn)一步的改進(jìn)和提高,對(duì)于那些經(jīng)常需要同時(shí)傳輸多個(gè)文件的特殊行業(yè)和生產(chǎn)領(lǐng)域,更加需要有針對(duì)性的進(jìn)行改善。許多軟件在斷點(diǎn)續(xù)傳、多線程傳輸、進(jìn)度顯示以及文件的動(dòng)態(tài)壓縮等方面還存有欠缺。這些軟件大都是針對(duì)用戶下載來設(shè)計(jì)的,能夠?qū)崿F(xiàn)功能完善的下載服務(wù)。隨著科學(xué)技術(shù)的發(fā)展,各種以局域網(wǎng)或是廣域網(wǎng)為基礎(chǔ)的文件傳輸系統(tǒng)已經(jīng)進(jìn)入穩(wěn)健發(fā)展時(shí)期。 windows socket 進(jìn)行高性能開發(fā) 本系統(tǒng)采用 windows socket 實(shí)現(xiàn), windows socket 是因特網(wǎng)上進(jìn)行通信程序設(shè)計(jì)的常用方法,是開發(fā)高性能網(wǎng)絡(luò)程序的基礎(chǔ),采用 socket 方法可以編寫出滿足各種應(yīng)用需要的網(wǎng)絡(luò)程序,具有很強(qiáng)的適應(yīng)性。 文件傳輸系統(tǒng)由于比較復(fù)雜,可變因素較多,安全性低,因此發(fā)展還不成熟。否則,傳輸?shù)奈募?huì)出現(xiàn)很多問題。創(chuàng)建線程后,一個(gè)應(yīng)用程序可以同時(shí)有多個(gè)線程一起運(yùn)用 CPU 的資源,大大的加強(qiáng)對(duì) CPU 的利用率。為此,客戶端的套接字必須首先描述它要連接的服務(wù)器的套接字 ,指出服務(wù)器套接字的地址和端口號(hào),然后再向服務(wù)器端套接字提出連接請(qǐng)求。 要通過 Inter 進(jìn)行通信,至少需要一對(duì)套接字,其中一個(gè)運(yùn)行在客戶端,稱之為ClientSocket,另一個(gè)運(yùn)行于服務(wù)器端面,稱為 ServerSocket。 網(wǎng)絡(luò)應(yīng)用程序是一種在不同系統(tǒng)的新 進(jìn)程間通過網(wǎng)絡(luò)通信協(xié)議進(jìn)行的進(jìn)程間的通 3 信問題。比如說,用戶發(fā)出一條命令 ,要求服務(wù)器向用戶傳送某一個(gè)文件的一份拷貝,服務(wù)器會(huì)響應(yīng)這條命令,將指定文件送至用戶的機(jī)器上。 FTP 允許您從數(shù)以千計(jì)的遠(yuǎn)程主機(jī)上把文件傳輸?shù)侥闹鳈C(jī)上,您可以傳輸計(jì)算機(jī)程序、圖像、聲音、電影或其它任何文件。而這些連接在網(wǎng)上的計(jì)算機(jī)也在各自運(yùn)行著不同的操作系統(tǒng),有運(yùn)行Windows、 Dos 的個(gè)人電腦,有運(yùn)行 MacOS 的蘋果機(jī),也有運(yùn)行 unix 的服務(wù)器等,而各種操作系統(tǒng)的文件結(jié)構(gòu)也各不相同。 FTP 中文意思為文件傳輸協(xié)議,用于管理計(jì)算機(jī)之間的文件傳送。 關(guān)鍵詞: 文件傳輸 套接字 多線程 Abstract: File transfer is one of the most monly used services on the Inter, a multithreaded file transfer can effectively improve the file transfer speed and efficiency, this system use the Windows sockets implementation, Socket can be regarded as two work applications for munications, each an endpoint of software and server software system points two parts, the need to use multithreading knowledge at the same time, an application can have multiple threads at the same time with the use of CPU resources, greatly strengthen the CPU utilization, but also from another aspect to speed up the transmission TCP/IP agreement linking the service is designed client / server application procedures for the mainstream standards, Therefore, the software used mainly TCP/IP agreement work munication technology。 不保密 □。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。 本學(xué)位論文屬于 保密 □,在 _________年解密后適用本授權(quán)書。 由于 TCP/IP連接協(xié)議的服務(wù)是設(shè)計(jì)客戶端 /服務(wù)器應(yīng)用程序時(shí)的主流標(biāo)準(zhǔn),所以本軟件主要采用TCP/IP 協(xié)議的網(wǎng)絡(luò)通信技術(shù);客戶端,服務(wù)器類是從 CAsyncSocket 類中繼承來的,因此本軟件通信完全是異步的;程序 在 Windows XP 系統(tǒng)、 Visual C++ 下編譯通過,且運(yùn)行良好。下面我們?cè)敿?xì)地談一談如何使用 Inter 的 FTP 功能進(jìn)行文件傳輸。據(jù)統(tǒng)計(jì)目前連接在 Inter 上的計(jì)算機(jī)已 經(jīng)有四千多萬臺(tái),并且每年正在以20%的速度增長。因此文件傳輸通常就 是指計(jì)算機(jī)利用 Inter 進(jìn)行文件傳輸?shù)姆?wù)。用戶通過客戶機(jī)程序向服務(wù)器程序發(fā)出命令請(qǐng)求,服務(wù)器程序執(zhí)行用戶所發(fā)出的命令,并將執(zhí)行的結(jié)果返回到客戶機(jī)。 Windows 操作系統(tǒng)具有 TCP/IP 協(xié)議棧,應(yīng)用程序可通過 Winsock API 函數(shù)的調(diào)用實(shí)現(xiàn)端到端透明數(shù)據(jù)鏈接的建立。通信時(shí),其中的一個(gè)網(wǎng)絡(luò)應(yīng)用程序?qū)⒁獋鬏數(shù)囊欢涡畔懭胨谥鳈C(jī)的 Socket中,該 Socket通過網(wǎng)絡(luò)接口
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1