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

正文內(nèi)容

即時(shí)通信系統(tǒng)的開發(fā)與設(shè)計(jì)畢業(yè)設(shè)計(jì)(參考版)

2025-06-25 18:51本頁面
  

【正文】 攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 參考文獻(xiàn)參考文獻(xiàn)[1] Stephen Prata著孫建春、++ Primer Plus(第五版), [2] , [3] 劉增杰,張少軍.《MySQL 》.清華大學(xué)出版社, [4] Jasmin Blanchette,Mark Summerfield ++ GUI Programming with QT 4 Second [5] 羅莉琴, ,[6] Bob Quinn,Dava Sockets Network , [7] 周佩德.?dāng)?shù)據(jù)庫原理及應(yīng)用.北京:電子工業(yè)出版社, 2004.[8] 張海藩. 軟件工程導(dǎo)論. 北京: 清華大學(xué)出版社, 2003.[9] 王珊,薩師煊.?dāng)?shù)據(jù)庫系統(tǒng) 概論(第四版).北京:高等教育出版社, 2006][10] 張海藩.軟件工程(第二版)[M].北 京: 人民郵電出版社, 2006.[11] 張莉, Server 數(shù)據(jù)庫原理及應(yīng)用教程[M].清華:清華大學(xué)出 版社出版,2003[12] 高海茹.SQL Server 網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)精粹.北京:機(jī)械工業(yè)出版社,2002[13] (第五版).北京:電子工業(yè)出版社,[14] 湯小丹,梁紅兵,哲鳳屏,(第三版).西安電子科技大學(xué)出版社,[15] 楊大全,拱長青,董偉嗣,[C].沈陽工業(yè)大學(xué)學(xué)報(bào),2000年.[16] [P].電子工業(yè)出版社,1999年.[17] 施煒,李錚, Sockets 規(guī)范及應(yīng)用-Windows網(wǎng)絡(luò)編程接口[M].1996[18]。 轉(zhuǎn)眼間大學(xué)階段就要完結(jié)了。這次畢業(yè)設(shè)計(jì)的時(shí)間并不算太長,但我對網(wǎng)絡(luò)編程、qt語言本身、設(shè)計(jì)流程有了更深刻的認(rèn)識。這樣才能深入的理解所學(xué)的知識 此外,此系統(tǒng)還有很多功能有待完善、增強(qiáng)。也了解到對多線程技術(shù)操作的不熟悉,對線程的互斥量的了解很少。之后設(shè)計(jì)是服務(wù)器寫完一個功能,在客戶端寫相應(yīng)的功能,調(diào)試正確后再進(jìn)行下一功能的設(shè)計(jì)。在設(shè)計(jì)中深知自己掌握的知識還遠(yuǎn)遠(yuǎn)不夠,掌握的理論知識并不能很好的做到學(xué)以致用,在編寫代碼時(shí)總會出現(xiàn)這樣那樣的問題,在整個畢業(yè)設(shè)計(jì)的過程中,開始并沒有很好的把握方向,以為先把服務(wù)器做完再做客戶端就可以了,但這樣在編寫代碼時(shí)并不能即時(shí)的發(fā)現(xiàn)問題,有些功能在之后可能還要大量的更改。該設(shè)計(jì)涉及到各方面的知識,大大擴(kuò)大了我的知識面,同時(shí)使我學(xué)會了如何使用所學(xué)的知識去解決一些實(shí)際問題。特別是在網(wǎng)絡(luò)編程方面,之前只能對c/s模式及通信原理達(dá)到理解程度,經(jīng)過本次畢業(yè)設(shè)計(jì)達(dá)到了基本會用的程度,對數(shù)據(jù)庫的使用也熟稔于心。在qt的學(xué)習(xí)之中雖然遇到過一系列問題,但大學(xué)期間提高的獨(dú)立思考能力和獨(dú)立學(xué)習(xí)能力讓我倍感受益。 基于局域網(wǎng)的即時(shí)通信系統(tǒng)作為我的畢業(yè)設(shè)計(jì)課題,是對我4年學(xué)習(xí)的理論知識和實(shí)踐相結(jié)合的一次綜合檢驗(yàn)。該系統(tǒng)完成了服務(wù)器數(shù)據(jù)庫的連接與操作,對客戶端消息請求的的處理、用戶登錄、注冊、查看好友資料、好友分組、添加好友、刪除好友、好友聊天這一系列的功能。該系統(tǒng)基本實(shí)現(xiàn)了用戶登錄、用戶注冊、查看好友個人資料、好友分組、好友在線狀態(tài)顯示、刪除好友、添加好友、修改個人資料及最重要的實(shí)現(xiàn)與好友的實(shí)時(shí)聊天。有些不能解決的問題就通過查閱相關(guān)方面的資料,基本已經(jīng)解決。數(shù)據(jù)庫中的數(shù)據(jù)也沒有實(shí)時(shí)更新,創(chuàng)建的通信線程也沒有在適當(dāng)?shù)臅r(shí)候撤銷??蛻舳送顺龇?wù)器關(guān)閉客戶端數(shù)據(jù)庫中的connectinfo表中少了一條用戶admin的連接信息,并且用戶表中的admin的狀態(tài)變?yōu)?查看好友資料選中好友ffgg單擊右鍵選擇查看資料客戶端創(chuàng)建了好友個人信息的界面,并且每個對應(yīng)的textedit中有好友ffgg的個人信息好友聊天登錄兩個賬號,一個賬號為:admin密碼為:admin 另一個為賬號:ffgg 密碼為:admin并彼此聊天Admin的客戶端能收到了好友ffgg的消息,而ffgg也能收到好友a(bǔ)dmin發(fā)送的消息 測試結(jié)論本系統(tǒng)在實(shí)現(xiàn)各部分功能時(shí)都進(jìn)行了簡單的測試,在測試的過程中也遇到了不少問題,例如在剛開始時(shí)編寫程序時(shí)用到的消息結(jié)構(gòu)體,之后在編程過程中隨著功能的不斷完善,消息結(jié)構(gòu)體中的數(shù)據(jù)也在不斷增加。 測試用例 主要是在編寫功能代碼中對其功能進(jìn)行相應(yīng)測試,對程序的執(zhí)行進(jìn)行詳細(xì)的跟蹤來檢查功能的實(shí)現(xiàn)與否以及對系統(tǒng)的整體測試以此來檢查功能的完整性。在循環(huán)的邊界和運(yùn)行界限內(nèi)執(zhí)行循環(huán)體。白盒測試主要對程序模塊進(jìn)行如下檢查:所有獨(dú)立的執(zhí)行路徑至少測試一次。 白盒測試:測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試;通過在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。 黑盒測試:又叫功能測試或數(shù)據(jù)驅(qū)動測試。}: 聊天界面攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)測試5 系統(tǒng)測試系統(tǒng)測試是為了發(fā)現(xiàn)程序的錯誤而執(zhí)行程序的過程,目的是為了在投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯誤,優(yōu)化軟件質(zhì)量,提高軟件性能。 } else { QMessageBox::about(this,聊天錯誤窗體,發(fā)送的信息不能為空)。 uimsgDisplaytextEditappend(str)。 QString str。 qDebug()send block size is()。 ()seek(0)。 qDebug()friendid isthisfriendid。 out (quint16)0 msgType thisuserid thisfriendid sendText。block, QIODevice::WriteOnly)。 QByteArray block。 qDebug()send text issendText。 QString sendText = uiinputtextEdittoPlainText()。 }}發(fā)送聊天消息關(guān)鍵代碼:void chatForm::PUSH_SEND_BUTTON(){ qDebug()***********************************。 //chatformdisplayChatMsg(sendText)。 QString str。 (friendid,chatform)。 if((friendid)) { chatform=(friendid)。 qDebug()chat friend connect info in recupdsocket : :。 =peerPort。 =thisuserid。 qDebug()friendid isfriendid。 qDebug()size size。 if (CHAT_MSG == msgType) { //發(fā)送的時(shí)候先發(fā)本身的id再發(fā)好友id //那么接收的時(shí)候先接收的id就為當(dāng)前聊天的好友id //后接受的id就為本生的id infriendid accid sendText。 (QDataStream::Qt_4_6)。 QDataStream in(amp。peerIp,amp。 qDebug()recMessage has start......。 ( recUdpSocketpendingDatagramSize())。 chatwithFriend cw。 quint16 size。//當(dāng)前賬戶id QString friendid。 QString msgType。 uisexlineEdit_4setText()。 uiidiotextEditsetText()。 uiagelineEdit_3setText(QString::number(, 10))。 uiuseridlineEditsetText()。 }}: 添加好友查看好友資料關(guān)鍵代碼:friendInfoForm::friendInfoForm(QWidget *parent,personInfo amp。 emit addfriendSignal(msg)。 qDebug()msg_。//網(wǎng)友 } =thisfriendidEdittext()。//我的好友 } if(i==1) { =BESTFRIENT。 int i=kindComboboxcurrentIndex()。 //向外廣播上線消息 //tcp初始設(shè)置//信號與槽連接// connect(addfriendButton,SIGNAL(clicked()),this,SLOT(addfriendButtonSlot()))connect(thisrecUdpSocket,SIGNAL(readyRead()),this,SLOT(recUdpMessage()))。 qDebug()recUdpsocket bind is success?recUdpSocketbind(port,QUdpSocket::ShareAddress|QUdpSocket::ReuseAddressHint)。 qDebug()port isport。 thisip=。 qDebug()mainform has start.....ready get local userid,ip,port。//綁定當(dāng)前用戶的ip地址和端口號 thisuserid=。//無邊框 //thissetAttribute(Qt::WA_TranslucentBackground,true)。 thissetBackgroundImage(groundimag)。 (:/new/prefix1/background/)。 thissetMaximumSize(300,650)。//室友 friendlist3=NETFRIENT。 friendlist1=MYFRIENT。 toolboxaddItem(friendlist2,室友)。 setLayout(vlayout2)。 vlayout2addWidget(groupbox2)。 //整體布局 vlayout2=new QVBoxLayout。 groupbox3setLayout(hlayout3)。 defaultButtonsetText(修改個人資料)。 addfriendButtonsetText(添加好友)。 hlayout3=new QHBoxLayout。 //工具表欄 addfriendButton=new QToolButton。 groupbox2setLayout(hlayout2)。 hlayout2=new QHBoxLayout。//去除邊框 //好友列表欄 toolbox=new QToolBox。 groupbox1setLayout(hlayout1)。 hlayout1addWidget(imagelabel)。 vlayout1addWidget(nicklabel)。 vlayout1=new QVBoxLayout。 imagelabelsetPixmap(QPixmap::fromImage(image))。 nicklabel=new QLabel。 useridlabel=new QLabel。 //用戶信息欄 groupbox1=new QGroupBox。 friendlist2=new ListWidget。 QImage image(:/new/prefix1/image/4 (2).png)。 }}: 客戶端注冊界面主界面實(shí)現(xiàn)主界面窗體的創(chuàng)建綁定udp套接字,接收udp數(shù)據(jù)報(bào)文關(guān)鍵代碼:Form::Form(QWidget *parent,personInfo amp。 qDebug() 。 =uiusernamelineEdittext()。 =uiphonelineEdittext()。 =uiidiographTextEdittoPlainText()。 =uiagelineEdittext().toInt()。 } else {
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1