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

正文內(nèi)容

基于linux平臺(tái)的可視語(yǔ)音聊天系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-06-18 15:38本頁(yè)面
  

【正文】 address=addr。}unsigned long recvCmd。unsigned long recvOpt。recvCmd=GET_MODE(receiveCommand)。recvOpt=GET_OPT(receiveCommand)。MsgMng *msg。msg = msgmngmakeMng(receiveUsername, receiveHostname, receiveCommand, receiveExtend, addr)。QByteArray datagramm。switch (recvCmd){case IPMSG_BR_ENTRY:msgBrEntry(msg)。break。case IPMSG_BR_EXIT:emit msgBrExit(msg)。break。case IPMSG_ANSENTRY:msgAnsEntry(msg)。break。case IPMSG_BR_ABSENCE:msgBrAbsence(msg)。break。case IPMSG_SENDMSG:emit addUser(msg)。emit msgSendMsg(msg)。msgusername=linuxdesktop。msghostname=linuxdesktop。msgaddress=addr。msgmand=33。(QString(%1:%2:%3:%4:%5:%6).arg(msgversion).arg(receivePacketno).arg(msgusername).arg(msghostname).arg(msgmand).arg(receivePacketno))。udpSocketwriteDatagram((), (qint64)(),msgaddress, IPMSG_DEFAULT_PORT)。break。}}} 文件傳輸模塊設(shè)計(jì)文件傳輸模塊包括界面設(shè)計(jì)和邏輯功能代碼,界面設(shè)計(jì)上面已介紹,代碼如下。 文件接收端設(shè)計(jì)文件接收端主要代碼如下:void TcpClient::readMessage(){QDataStream in(tcpClient)。(QDataStream::Qt_4_6)。float useTime = ()。if(bytesReceived = sizeof(qint64)*2){if((tcpClientbytesAvailable() = sizeof(qint64)*2) amp。amp。 (fileNameSize == 0)){inTotalBytesfileNameSize。bytesReceived += sizeof(qint64)*2。}if((tcpClientbytesAvailable() = fileNameSize) amp。amp。 (fileNameSize != 0)){infileName。bytesReceived +=fileNameSize。if(!localFileopen(QFile::WriteOnly)){QMessageBox::warning(this,tr(Application),tr(Can not read file %1:\n%2.).arg(fileName).arg(localFileerrorString()))。return。}}else{return。}}if(bytesReceived TotalBytes){bytesReceived += tcpClientbytesAvailable()。inBlock = tcpClientreadAll()。localFilewrite(inBlock)。(0)。}uiprogressBarsetMaximum(TotalBytes)。uiprogressBarsetValue(bytesReceived)。double speed = bytesReceived / useTime。uitcpClientStatusLabelsetText(tr(has been received %1MB (%2MB/s) \ntotal%3MB time:%4second last time:%5second).arg(bytesReceived / (1024*1024)) //已接收.arg(speed*1000/(1024*1024),0,39。f39。,2) //速度.arg(TotalBytes / (1024 * 1024)) //總大小.arg(useTime/1000,0,39。f39。,0) //用時(shí).arg(TotalBytes/speed/1000 useTime/1000,0,39。f39。,0))。 //剩余時(shí)間if(bytesReceived == TotalBytes){tcpClientclose()。uitcpClientStatusLabelsetText(tr(receive file %1 success).arg(fileName))。localFileclose()。//接收完文件后,一定要關(guān)閉,不然可能出問(wèn)題}} 文件發(fā)送端代碼設(shè)計(jì)文件發(fā)送端主要代碼如下:void TcpServer::sendMessage() //開始發(fā)送數(shù)據(jù){uiserverSendBtnsetEnabled(false)。clientConnection = tcpServernextPendingConnection()。connect(clientConnection,SIGNAL(bytesWritten(qint64)),SLOT(updateClientProgress(qint64)))。uiserverStatusLabelsetText(tr(start send file %1 ).arg(theFileName))。localFile = new QFile(fileName)。if(!localFileopen((QFile::ReadOnly))){ //以只讀方式打開QMessageBox::warning(this,tr(application),tr(can not read file %1:\n%2).arg(fileName).arg(localFileerrorString()))。return。}TotalBytes = localFilesize()。QDataStream sendOut(amp。outBlock,QIODevice::WriteOnly)。(QDataStream::Qt_4_6)。()。//開始計(jì)時(shí)QString currentFile = (() (39。/39。)1)。sendOutqint64(0)qint64(0)currentFile。TotalBytes += ()。()seek(0)。sendOutTotalBytesqint64((()sizeof(qint64)*2))。bytesToWrite = TotalBytes clientConnectionwrite(outBlock)。(0)。}總結(jié)論文首先簡(jiǎn)要介紹即時(shí)通訊工具,分析了局域網(wǎng)通訊系統(tǒng)的實(shí)現(xiàn)技術(shù),包括網(wǎng)絡(luò)通信技術(shù),廣播信息技術(shù),然后論文詳細(xì)介紹了開發(fā)工具QT,介紹了QT的發(fā)展歷史、優(yōu)點(diǎn),及開發(fā)過(guò)程中的socket技術(shù)、信號(hào)與槽機(jī)制。在前面兩個(gè)部分的基礎(chǔ)上,論文對(duì)局域網(wǎng)通信系統(tǒng)進(jìn)行了詳細(xì)的系統(tǒng)分析和設(shè)計(jì),包括系統(tǒng)需求分析、運(yùn)行環(huán)境分析、系統(tǒng)功能設(shè)計(jì)及模塊劃分、編碼實(shí)現(xiàn)等。針對(duì)該系統(tǒng)是基于Linux平臺(tái)的開發(fā),因此選用了QT作為開發(fā)工具,C++作為開發(fā)語(yǔ)言,又因開發(fā)過(guò)程中測(cè)試需求,使用VMware Workstation虛擬兩個(gè)red hat操作系統(tǒng)進(jìn)行運(yùn)行測(cè)試??偟膩?lái)說(shuō),此次畢業(yè)實(shí)習(xí)及畢業(yè)設(shè)計(jì)完成了任務(wù)書規(guī)定的各項(xiàng)要求,在學(xué)習(xí)C++語(yǔ)言、QT、網(wǎng)絡(luò)通信等內(nèi)容的基礎(chǔ)上,進(jìn)一步學(xué)習(xí)并實(shí)踐了UDP 和TCP通信,局域網(wǎng)的架設(shè),文件傳輸?shù)榷喾N實(shí)用技術(shù),成功設(shè)計(jì)出一個(gè)功能基本齊全的局域網(wǎng)聊天工具。既學(xué)習(xí)了不少新的知識(shí)和技術(shù),由親身體驗(yàn)軟件設(shè)計(jì)、開發(fā)的過(guò)程,個(gè)人覺(jué)得收獲頗豐。當(dāng)然,這次設(shè)計(jì)的局域網(wǎng)聊天工具還只是一個(gè)初級(jí)產(chǎn)品,還可以從以下幾方面進(jìn)一步完善:(1)實(shí)現(xiàn)語(yǔ)音通信。目前系統(tǒng)中只實(shí)現(xiàn)了文本聊天和文件傳輸,相對(duì)來(lái)說(shuō)功能較少,若添加語(yǔ)音通信功能,并在局域網(wǎng)中實(shí)現(xiàn),這將可以大大得增強(qiáng)該軟件的實(shí)用性。并真正地在內(nèi)部局域網(wǎng)中使用。(2)添加服務(wù)器。該聊天工具目前只能在局域網(wǎng)中使用,若添加服務(wù)器,就可以在整個(gè)因特網(wǎng)中使用,成為類似的存在,大大提高其實(shí)用性。最后敬請(qǐng)各位專家、老師和同學(xué)對(duì)論文和今后的研究工作提出寶貴的指導(dǎo)意見(jiàn)和建議。致謝將近兩個(gè)月的時(shí)間終于將這篇論文寫完,在論文的寫作過(guò)程中遇到了無(wú)數(shù)的困難和障礙,都在同學(xué)和老師的幫助下度過(guò)了。尤其要強(qiáng)烈感謝我的論文指導(dǎo)老師—王建華老師,她對(duì)我進(jìn)行了無(wú)私的指導(dǎo)和幫助,不厭其煩的幫助進(jìn)行論文的修改和改進(jìn)。另外,在校圖書館查找資料的時(shí)候,圖書館的老師也給我提供了很多方面的支持與幫助。在此向幫助和指導(dǎo)過(guò)我的各位老師表示最中心的感謝!感謝這篇論文所涉及到的各位學(xué)者。本文引用了數(shù)位學(xué)者的研究文獻(xiàn),如果沒(méi)有各位學(xué)者的研究成果的幫助和啟發(fā),我將很難完成本篇論文的寫作。感謝我的同學(xué)和朋友,在我寫論文的過(guò)程中給予我了很多素材,還在論文的撰寫和排版燈過(guò)程中提供熱情的幫助。由于我的學(xué)術(shù)水平有限,所寫論文難免有不足之處,懇請(qǐng)各位老師和學(xué)友批評(píng)和指正!參考文獻(xiàn)[1] 李愛(ài)菊,宋沖亞. QT局域網(wǎng)聊天項(xiàng)目制作[J]. 現(xiàn)代建設(shè), 2012.[2] 薄曉蓉,張偉利. 操作系統(tǒng)原理與實(shí)例分析[M]. 機(jī)械工業(yè)出版社, 2005.[3] 蔡志明,盧傳富,李立夏. 精通Qt4編程[M]. 電子工業(yè)出版社,2008.[4] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)第5版[M]. 電子工業(yè)出版社,2008.[5] 謝曉芹. 基于socket的網(wǎng)絡(luò)編程 [J]. .[6] 馬睿. 基于QT的TCP網(wǎng)絡(luò)編程研究與應(yīng)用[J]. 福建電腦,2010,11期:138.Jasmin Blanchette ,Mark Summerfield. C++ GUI Qt4 編程[M]. 電子工業(yè)出版社,1998 .[7]34
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1