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

正文內(nèi)容

基于linux的實(shí)時(shí)通信軟件設(shè)計(jì)-文庫(kù)吧資料

2024-08-03 10:05本頁(yè)面
  

【正文】 rver_addr。 } int main(int argc, char *argv[]) { int sockfd。 printf(%s\n,mes)。 if(nbytes0) { mes[nbytes]=39。 while( 1 ) { memset(mes,0,sizeof(mes))。 void recvfromserver( ) //接受服務(wù)器消息線程入口函數(shù) { char mes[1024]。 感謝王 老師的悉心教導(dǎo)和認(rèn)真幫助,在我們遇到各種困難時(shí)給予我們最深刻的指導(dǎo),讓我們能夠較順利的完成此次課程設(shè)計(jì)。 通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。 從前的學(xué)習(xí)過(guò)程過(guò)于浮淺,只是流于表面的理解,而現(xiàn)在要做課程設(shè)計(jì),就不得不要求我們對(duì)所用到的知識(shí)有更深層次的理解。在客戶端也有兩個(gè)線程,主線程用來(lái)向服務(wù)器發(fā)送消息,輔助線程用來(lái)接收服務(wù)器發(fā)出的消息。 實(shí)現(xiàn)群聊的機(jī)制是:當(dāng)某個(gè)客戶端需要發(fā)送消息是,它將此消息發(fā)送給服務(wù)器,服務(wù)器再將此消息轉(zhuǎn)發(fā)給各客戶端,各客戶端之間是無(wú)連接的,即相互之間不能直接通信 。且能夠顯示客戶端的用戶名。 開 始對(duì) 應(yīng) 用 戶 傳 入 消 息格 式 化 類用 戶 名轉(zhuǎn) 發(fā) 的 消 息標(biāo) 志消 息 格 式 化 類將 信 息 整 合 成 固 定格 式 傳 送“ 【 用 戶 名 + : 】 ”轉(zhuǎn) 發(fā) 的 消 息結(jié) 束 圖 4 消息格式化模塊流程圖 7 群聊模塊 用戶登陸以后,可與顯示在線的任何用戶進(jìn)行聊天,也可與在線用戶一起進(jìn)行群聊。登陸后可查看群聊信息,且可與其他人進(jìn)行聊天 服務(wù)器模塊 開 始創(chuàng) 建 套 接 字 S o c k e t套 接 字 綁 定 到 本 地端 口套 接 字 接 聽 客 戶 端請(qǐng) 求是 否 有 鏈 接 請(qǐng) 求返 回 套 接 字 進(jìn) 行 通信保 存 套 接 字 中 的 內(nèi)容I P 鏈 接 是 否 正 常啟 動(dòng) 轉(zhuǎn) 發(fā) 消 息 的 線程讀 取 套 接 字 中 得 內(nèi)容保 存 所 有 在 線 用 戶名聊 天 是 否 啟 動(dòng)將 在 線 用 戶 名 單 與“ 聊 天 啟 動(dòng) ” 標(biāo) 志寫 入 輸 出 流將 消 息 轉(zhuǎn) 發(fā) 給 所 有在 線 用 戶結(jié) 束信 息 寫 入 輸 出 流顯 示 用 戶 下 線 信 息是是是否否否 圖 3 服務(wù)器模塊流程圖 6 該服務(wù)器界面用于顯示用戶上線與下線的信息,不可用于聊天,是用于將客戶端群聊時(shí)發(fā)送的信息轉(zhuǎn)發(fā)給每一個(gè)在線用戶,處于一個(gè)承接的作用。 4 群聊模塊 客戶端點(diǎn)擊“發(fā)送信息”按鈕,該客戶端的 ip 地址、端口號(hào)以及信息內(nèi)容一起打包寫入服務(wù)器 readMessage 函數(shù),客戶端通過(guò)線程可以讀取該客戶 write 中的內(nèi)容。 運(yùn)行環(huán)境要求 本項(xiàng)目開發(fā)主要完成軟件開發(fā)可在 Linux 和 windows 平臺(tái)下開發(fā) 3 3. 系統(tǒng)設(shè)計(jì) 系統(tǒng)總體流程圖 啟 動(dòng) 客 戶 端聊 天啟 動(dòng) 服 務(wù) 器等 待 數(shù) 據(jù) 請(qǐng) 求處 理 用 戶 數(shù) 據(jù)顯 示 對(duì) 所 有 人 信 息顯 示 私 聊 信 息登 發(fā) 送 信 息入 服 務(wù) 器顯 示 在 線用 戶數(shù) 據(jù) 傳 輸數(shù) 據(jù) 傳 輸數(shù) 據(jù) 傳 輸 圖 1 系統(tǒng)設(shè)計(jì)流 程圖 系統(tǒng)模塊設(shè)計(jì) 轉(zhuǎn)發(fā)信息模塊 服務(wù)器定義 readMessage 函數(shù)用于存儲(chǔ)要求請(qǐng)求連接的用戶名,客戶發(fā)送的信息,該消息服務(wù)器、客戶端共享,客戶端讀取該信息,從而實(shí)現(xiàn)信息轉(zhuǎn)發(fā)。 ( 2) 模塊化設(shè)計(jì)此軟件的功能,不同的模塊實(shí)現(xiàn)不同的功能,使得軟件易于以后的維護(hù)與擴(kuò)展,在以后可以更好的完善本軟件的功能,更方便于在工作中的應(yīng)用。 ( 4) 可發(fā)送文件,發(fā)送者可以取消開始或中途想放棄傳達(dá)的文件,接受者可接受或拒絕傳來(lái)的文件,并能夠?qū)鱽?lái)的文件設(shè)定本地保存位置。 ( 2) 在服務(wù)器端,使用多線程機(jī)制,為多個(gè)用戶服務(wù)。 本次課題設(shè)計(jì)是在使用 Linux 線程和 Socket 接口的基礎(chǔ)上,編寫網(wǎng)絡(luò)聊天程序,從而掌握 Linux 應(yīng)用程序開發(fā)的基本方法,練習(xí) Linux 線程及 Socket 編程的方法,從而將所學(xué)知識(shí)融會(huì)貫通。 客戶端:首先與服務(wù)器建立連接,然后向服務(wù)器發(fā)送數(shù)據(jù)進(jìn)行交互,接受服務(wù)器的反饋信息并顯示,之后繼續(xù)等待用戶輸入直至用戶輸入 ctrl+D 結(jié)束通信。主線程繼續(xù)等待其他客戶請(qǐng)求。 服務(wù)器端:循環(huán)等候客戶連接請(qǐng)求,一旦有客戶連接請(qǐng)求,開啟一個(gè)子線程接受并處理客戶請(qǐng)求,接受來(lái)自客戶的信息。而多線程技術(shù)是并行技術(shù)中開銷較小,效率較高的一種方式,與其他兩種方式相比,線程占用更少的系統(tǒng)資源,而且效率更高,是并發(fā)技術(shù)中最常用的方式。由于 Linux 的開源的特點(diǎn),越來(lái)越多的人轉(zhuǎn)而使用 Linux 作為PC 機(jī)得操作系統(tǒng)。 河 南 科 技 學(xué) 院 實(shí) 習(xí) 報(bào) 告 實(shí)習(xí)課題: 基于 linux 的 實(shí)時(shí)通信軟件 設(shè)計(jì) 姓名: 學(xué)號(hào): 班級(jí): 指導(dǎo)教師:
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1