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

正文內(nèi)容

課程設(shè)計(jì)---基于linux網(wǎng)絡(luò)聊天室的設(shè)計(jì)-文庫(kù)吧資料

2024-11-24 17:37本頁(yè)面
  

【正文】 Socket()函數(shù)建立一個(gè)套接字,使用 Connect()函數(shù)與服務(wù)器端進(jìn)行連接,連接完成后,使用 Write()和 Read()與服務(wù)器端進(jìn)行通信,通信結(jié)束后調(diào)用 close()關(guān)閉套接字描述符。 首先運(yùn)行 服務(wù)器端 程序,通過(guò) Socket()函數(shù)會(huì)建立一個(gè)套接字,然后通過(guò) Bind()函數(shù)綁定一個(gè)端口,然后 調(diào)用 Listen()在套接字指定的端口上開(kāi)始傾聽(tīng),利用 Accept()從完全建立連接的隊(duì)列中接受一個(gè)連接,連接獲得后使用 Read()和 Write()函數(shù)進(jìn)行通信。 服務(wù) 器 端和客戶端的主要組成如下: 服務(wù)器 端:套接字創(chuàng)建函數(shù) Socket(),端口綁定函數(shù) Bind(),套接口監(jiān)聽(tīng)函數(shù) Listen(),接受連接函數(shù) Accept(),數(shù)據(jù)收發(fā)函數(shù) Read()和 Write(),以及套接口關(guān)閉函數(shù) Close()。在客戶 /服務(wù)器模型中,多個(gè)相互通信的計(jì)算機(jī)都作為客戶端,與網(wǎng)絡(luò)服務(wù)器進(jìn)行連接,并通過(guò)服務(wù)器進(jìn)行信息的傳遞 [4]??蛻?/服務(wù)器模式的建立基于以下兩點(diǎn):首 先,建立網(wǎng)絡(luò)的起因是網(wǎng)絡(luò)中軟硬件資源、運(yùn)算能力和信息不均等,需要共享,從而造就擁有眾多資源的主機(jī)提供服務(wù),資源較少的客戶請(qǐng)求服務(wù)這一非對(duì)等作用。 因此,對(duì)于從每個(gè)客戶端發(fā)來(lái)的請(qǐng)求,服務(wù)器端都要?jiǎng)?chuàng)建相應(yīng)的線程去接收并處理;同理,對(duì)于客戶端而言,也要?jiǎng)?chuàng)建一個(gè)線程去讀取服務(wù)器端發(fā)來(lái)的信息。因此,本實(shí)驗(yàn)需要使用兩個(gè)線程去分別完成發(fā)送和接收信息的任務(wù),這兩個(gè)線程共享其進(jìn)程擁有的統(tǒng)一個(gè)端口地址。因此,不能通過(guò)創(chuàng)建進(jìn)程方式來(lái)解決上訴問(wèn)題,因?yàn)閮蓚€(gè)進(jìn)程會(huì)分別對(duì)應(yīng)兩個(gè)不同的端口,而發(fā)送和接收必須使用同一端口。這樣,當(dāng)接收信息任務(wù)因沒(méi)有信 息而被阻塞時(shí),不至于影響發(fā)送任務(wù)的執(zhí)行。使用一個(gè)進(jìn)程去完成發(fā)送信息是沒(méi)有問(wèn)題的,因?yàn)榘l(fā)送總是主動(dòng)的;而使用同一個(gè)進(jìn)程再去完成接受信息去不一定會(huì)成功,因?yàn)榻邮苄畔⑹潜粍?dòng)的,所以當(dāng)沒(méi)有信息可以接收時(shí),該進(jìn)程就會(huì)被阻塞,從而導(dǎo)致發(fā)送任務(wù)也一起被阻塞。而每個(gè)進(jìn)程進(jìn)行通信的環(huán)節(jié)都包括了發(fā)送信息和接口信息兩個(gè)任務(wù),這兩個(gè)任務(wù)通過(guò)一個(gè)端口地址發(fā)送和接收。 這是通過(guò) Socket 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信需要掌握的 4 個(gè)編程要點(diǎn)。 (3) 按要求通過(guò) socket 發(fā)送和接受數(shù)據(jù)。 《基于 Linux 網(wǎng)絡(luò)聊天室的設(shè)計(jì) 》 第 7 頁(yè) 共 21 頁(yè) 圖 Socket 通信流程圖 網(wǎng)絡(luò)套接字( socket)的概念 Socket 接口上 TCP/IP 網(wǎng)絡(luò)應(yīng)用程序接口( API),它提供了許多函數(shù)和例程,程序員可以使用它們來(lái)開(kāi)發(fā) TCP/IP 網(wǎng)絡(luò)應(yīng)用程序。所以多個(gè)客戶端之間的通信就變?yōu)榱丝蛻舳伺c服務(wù)端的通信。 圖 用三次握手建立 TCP 連接 《基于 Linux 網(wǎng)絡(luò)聊天室的設(shè)計(jì) 》 第 6 頁(yè) 共 21 頁(yè) 對(duì)于兩個(gè)計(jì)算機(jī)之間連接的釋放過(guò)程也需要類似的 3 次握手的互相確認(rèn)的過(guò)程,如實(shí)驗(yàn)圖22 所 示。 由于 TCP 要提供可靠的、面向連接的運(yùn)輸服務(wù),所以不可避免地增加了許多系統(tǒng)開(kāi)銷,比如確認(rèn)、流量控制、計(jì)時(shí)器以及連接管理等都需要占用許多系統(tǒng)的時(shí)空資源。 (2)TCP 通信 TCP 是傳輸控制協(xié)議的簡(jiǎn)稱,它是提供一條全雙工的、可靠的信道。 UDP 在傳送數(shù)據(jù)之前不需要先建立連接,遠(yuǎn)地主機(jī)的傳輸層在收到 udp 數(shù)據(jù)報(bào)后,不需要給出任何確認(rèn),所以不能保證其交付時(shí)可靠。 《基于 Linux 網(wǎng)絡(luò)聊天室的設(shè)計(jì) 》 第 5 頁(yè) 共 21 頁(yè) 2 技術(shù) 介紹 和 UDP 介紹 (1)UDP 通信 UDP 是用戶數(shù)據(jù)報(bào)協(xié)議的簡(jiǎn)稱。運(yùn)行 服 務(wù)器端 程序可以和任意運(yùn)行了客戶端程序的主機(jī)進(jìn)行通信,通信內(nèi)容能夠通過(guò)終端顯示出來(lái)。 本課程設(shè)計(jì)主要實(shí)現(xiàn)一個(gè) Linux 下的局域網(wǎng)聊天工具的設(shè)計(jì)。但是Linux 的真正 興起只是在最近幾年,因此很多功能并不是很完善,并且由于 Linux 的開(kāi)源特征,很多軟件開(kāi)發(fā)公司很難從中獲得直接利益,因此很多 Windows 上的實(shí)用的軟件,在Linux 下卻很少見(jiàn)。本聯(lián)盟就是想通過(guò) bazaar 開(kāi)發(fā)模型 ,在網(wǎng)上召集一些 Linux 的愛(ài)好者 ,開(kāi)發(fā)出更優(yōu)秀的操作系統(tǒng)或軟件 。Linux 這種獨(dú)特的自由流暢的開(kāi)發(fā)模型已被命名為 bazaar(集市模型)。 (3) Linux 的明天 Linux 最強(qiáng)大的生命力在于其公開(kāi)的開(kāi)發(fā)過(guò)程。 桌面上的 Linux 也在繼續(xù)完善。它既被當(dāng)作郵件服務(wù)器的一種候選平臺(tái) ,也被當(dāng)作一種強(qiáng)壯而安全的防火墻。 《基于 Linux 網(wǎng)絡(luò)聊天室的設(shè)計(jì) 》 第 4 頁(yè) 共 21 頁(yè) (2) Linux 的今天 作為一各服務(wù)器級(jí)的操作系統(tǒng) ,Linux 已經(jīng)成熟了。 1994 年 ,Linux 已經(jīng)升級(jí)到 版本。他獨(dú)立把這個(gè)內(nèi)核開(kāi)發(fā)到 版 ,這個(gè)版本已經(jīng)可以運(yùn)行 gcc、 bash 和很少的一些應(yīng)用程序。而 Linux 最初是專門為基于 Intel 的個(gè)人計(jì)算機(jī)設(shè)計(jì)的。與此同時(shí) ,其它獨(dú)立開(kāi)發(fā)的 Unix 版本也開(kāi)始萌生。 Unix 的最初版本免費(fèi)提供給許多知名的大學(xué)的計(jì)算機(jī)系使用。 Unix 是由 AT— T 貝爾實(shí)驗(yàn)室的 Ken Thompson 和 Dennis Ritchie 于 1969 年在一臺(tái)已經(jīng)廢棄了的 PDP7 上開(kāi)發(fā)的;最初它是一個(gè)用匯編語(yǔ)言寫成的單用戶操作系統(tǒng)。 GPL 充分體現(xiàn)了 Stallman 的思想:只要用戶所做的修改是同等自由的 ,用戶可 以自由地使用、拷貝、查詢、重用、修改甚至發(fā)布這個(gè)軟件。大部分 GNU 工程的軟件和文檔是以 GNU 通用公共許可證發(fā)行的 ,但是有一些庫(kù)是以 GNU 函數(shù)庫(kù)通用公共許可證發(fā)行的。 提到 Linux 我們不能不提 GNU 和 Unix。 關(guān)鍵詞 Linux; 網(wǎng)絡(luò)聊天室 ; 客戶端 ; 主機(jī); 《基于 Linux 網(wǎng)絡(luò)聊天室的設(shè)計(jì) 》 第 3 頁(yè) 共 21 頁(yè) 1 引 言 課程設(shè)計(jì)背景 Linux 是一種針對(duì) PC 計(jì)算機(jī)和工作站的操作系統(tǒng) ,它具有像 Windows 和 Mac 那樣的功能齊全的圖形用戶界面( GUI,Graphical User Interface)。運(yùn)行 服務(wù)器端 程序可以和任意運(yùn)行了客戶端程序的主機(jī)進(jìn)行通信,通信內(nèi)容能夠通過(guò)終端顯示出來(lái)。 課程設(shè)計(jì)成績(jī)?cè)u(píng)定 學(xué) 院 計(jì)算機(jī)與通信工程 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 學(xué) 號(hào) 學(xué)生姓名 指導(dǎo)教師 課程成績(jī) 完成日期 指導(dǎo)教師對(duì)學(xué)生在課程設(shè)計(jì)中的評(píng)價(jià) 評(píng)分項(xiàng)目 優(yōu) 良 中 及格 不及格 課程設(shè)計(jì)中的創(chuàng)造性成果 學(xué)生掌握課程內(nèi)容的程度 課程設(shè)計(jì)完成情況 課程設(shè)計(jì)動(dòng)手 能力 文字表達(dá) 學(xué)習(xí)態(tài)度 規(guī)范要求 課程設(shè)計(jì)論文的質(zhì)量 指導(dǎo)教師對(duì)課程設(shè)計(jì)的評(píng)定意見(jiàn) 綜合成績(jī) 指導(dǎo)教師簽字
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1