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

正文內容

即時通信系統(tǒng)的開發(fā)與設計畢業(yè)設計-閱讀頁

2025-07-07 18:51本頁面
  

【正文】 單欄顯示及相應功能的部分實現(xiàn)。chatForm類實現(xiàn)聊天界面的創(chuàng)建。friendInfoForm類實現(xiàn)好友信息顯示界面的創(chuàng)建。Widget類主要的槽及信號:槽及主要成員函數(shù)返回值功能 loginrequest()void登錄請求receiveData()void接收消息on_registerButton_clicked()void注冊賬號sendData(Message amp。)void創(chuàng)建聊天界面信號Form類主要槽及信號:槽及主要成員函數(shù)返回值功能createFriendchatSlot(chatwithFriend amp。msg)void獲得好友信息的信號deletefriendSignal(Message amp。msg)void開始聊天信號chatForm類主要信號和槽:槽及主要函數(shù)返回值功能PUSH_SEND_BUTTON()void發(fā)送聊天消息主要功能截圖及關鍵代碼客戶端登錄界面關鍵代碼:void Widget::loginrequest(){ if(!tcpsocketUnconnectedState) { // tcpsocketabort()。 =LOGIN。 =uipwdlineEdittext()。 sendData(msg)。 } }: 客戶端登錄界面注冊界面關鍵代碼:void registerForm::submitslot(){ if(uiuseridEdittext().isEmpty()amp。uipwdlineEdittext().isEmpty()) { qDebug()userid or pwd can39。 QMessageBox::about(this,錯誤,賬號和密碼不能為空)。 =uinickNamelineEdittext()。 =uicitylineEdittext()。 =uipwdlineEdittext()。 =uiuseridEdittext()。 =uisexlineEdittext()。 emit registerSignals(msg)。msg) : QWidget(parent), ui(new Ui::Form){ uisetupUi(this)。 //三個好友列表 friendlist1=new ListWidget。 friendlist3=new ListWidget。 imagelabel=new QLabel。 useridlabelsetText(賬號:)。 nicklabelsetText(昵稱:)。 imagelabelresize(QSize(5,5))。 vlayout1addWidget(useridlabel)。 hlayout1=new QHBoxLayout。 hlayout1addLayout(vlayout1)。 groupbox1setStyleSheet(border:none)。 groupbox2=new QGroupBox。 hlayout2addWidget(toolbox)。 groupbox2setStyleSheet(border:none)。 defaultButton=new QToolButton。 hlayout3addWidget(addfriendButton)。 hlayout3addWidget(defaultButton)。 groupbox3=new QGroupBox。 groupbox3setStyleSheet(border:none)。 vlayout2addWidget(groupbox1)。 vlayout2addWidget(groupbox3)。 //好友分類列表 toolboxaddItem(friendlist1,我的好友)。 toolboxaddItem(friendlist3,網(wǎng)友)。//我的好友 friendlist2=BESTFRIENT。//網(wǎng)友 //窗體基本屬性設置 thissetWindowTitle(主界面)。 thissetMinimumSize(300,650)。 thissetStyleSheet(border:none)。 //thissetWindowFlags(Qt::FramelessWindowHint)。//窗體透明設置 //創(chuàng)建udpsocket 套接字 綁定到本地端口;和ip地址 recUdpSocket=new QUdpSocket(this)。 qDebug()**********************************。 qDebug()userid isuserid。 thisport=。 qDebug()ip isip。 //此處的bind是個重載函數(shù),連接本機的port端口,采用ShareAddress模式(即允許其它的服務連接到相同的地址和端口,特別是 //用在多客戶端監(jiān)聽同一個服務器端口等時特別有效),和ReuseAddressHint模式(重新連接服務器) //connect(udpSocket, SIGNAL(readyRead()), this, SLOT(processPendingDatagrams()))。}: 主界面添加好友關鍵代碼:void addfriendForm::addfriendSlot(){ =ADD_FRIEND。 if(i==0) { =MYFRIENT。//室友 } if(i==2) { =NETFRIENT。 //好友id不能為空; if(!()) { qDebug()msg_。 qDebug()msg_。 } else { QMessageBox::about(this,好友添加,好友信息不能為空!??!)。pi) : QWidget(parent), ui(new Ui::friendInfoForm){ uisetupUi(this)。 uinicknamelineEditsetText()。 uicitylineEdit_5setText()。 uiphonelineEdit_6setText()。} 所示: 好友資料界面好友聊天包括接收好友消息和發(fā)送好友消息接收好友消息關鍵代碼:void Form::recUdpMessage(){ QByteArray block。 QString accid。//與好友聊天的id QString sendText。 QHostAddress peerIp。//聊天好友連接信息 quint16 peerPort。 qDebug()********************************。 qDebug()recUdpsocket data size isthis recUdpSocketreadDatagram((),(),amp。peerPort)。block,QIODevice::ReadOnly)。 insizemsgType。 qDebug()userid is accid。 qDebug()msgType ismsgType。 qDebug()sendtext issendText。 =()。 =friendid。 qDebug()sender:friendidreceiver:useridmsg text:sendText。 }else { chatform=new chatForm(0,cw,thisrecUdpSocket)。 } chatformshow()。 str=+ say:+sendText。 chatformdisplayChatMsg(str)。 qDebug()send message has start......。 qDebug()has push send button,...。 if(!()) { QString msgType = CHAT_MSG。 QDataStream out(amp。 (QDataStream::Qt_4_6)。 qDebug()userid isthisuserid。 qDebug()sendText issendText。 out (quint16)(() sizeof(quint16))。 qDebug()udpsocket write datasize isudpsocketwriteDatagram((), (), QHostAddress(peerip), (quint16)peerport)。 str=thisuserid+ say:。 uimsgDisplaytextEditappend(sendText)。 } uiinputtextEditclear()。 軟件測試的方法 軟件測試的基本方法有黑盒測試和白盒測試兩種。黑盒測試是在程序接口上進行測試,主要是為了發(fā)現(xiàn)以下錯誤:是否有不正確或者是遺漏了的功能,在接口上,輸入能否正確的接受,能否輸出正確的結果;是否有數(shù)據(jù)結構錯誤或者外部信息訪問錯誤;性能上是否滿足要求;是否有初始化或終止性錯誤;用黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的結果。因此白盒測試又稱為結構測試或數(shù)據(jù)驅動測試。對所有的邏輯判定,取真和取假的兩種情況都至少測試一次。測試內部數(shù)據(jù)結構的有效性等。測試系統(tǒng)部分功能測試行為測試結果正常開啟服務器點擊啟動服務器服務器界面顯示本地ip和端口號,調試信息顯示數(shù)據(jù)庫打開成功客戶端登錄服務器在客戶端輸入賬戶:admin密碼:admin數(shù)據(jù)庫中connectinfo表中多了一條admin的連接信息,并且用戶表中admin的狀態(tài)為1.出現(xiàn)主界面并正常顯示好友列表及用戶的基本信息。在服務器端設計通信線程時,用戶可以正常登錄,但再次登錄時連接不上服務器,后來經(jīng)過多次調試,跟蹤調試,查詢多方面的資料才知道是客戶端失去聯(lián)系時在服務器端沒有進行正確的處理。當然在其他功能模塊的調試過程中,也遇到過一系列代碼上的問題導致系統(tǒng)不能正常運行,大部分原因都是代碼邏輯錯誤,函數(shù)引用錯誤,語法結構缺失等問題;通過在qtcreator斷點調試及自己添加相應的輸出語句,在調試欄查看變量的實時信息,及錯誤的提示信息就可以很容易的找出問題并且改正。在這一系列的測試,調試中,系統(tǒng)的功能也不斷完善,例如在登錄時用戶的密碼和賬戶不能為空,添加好友的界面中好友賬號不能為空,聊天時發(fā)送聊天信息也不能為空,否則會給予相應的提示。攀枝花學院本科畢業(yè)設計(論文) 總結總 結經(jīng)過大半學期的緊張的畢業(yè)設計,基于局域網(wǎng)的即時通信聊天系統(tǒng)基本完成,系統(tǒng)基本功能基本實現(xiàn)、測試、調試也基本運行正常。該系統(tǒng)操作簡單、界面友好性好、可擴展性強。雖然大學選修過qt相關的課題,但由于之前學過c/c++、java、c這一系列的編程語言,讓我在qt語法和界面的學習時沒有想象中的那么難了。在本次設計的全過程中,我對四年的理論知識有了一個比較系統(tǒng)的認識和理解。對tcp協(xié)議和udp協(xié)議的優(yōu)缺點有了更深的了解。 但在本次畢業(yè)設計中也讓我認識到了自己本身的一些不足之處。不過幸好及時的發(fā)現(xiàn)這一問題。這樣做大大加快了完成畢業(yè)設計的步伐。通過本次畢業(yè)設計讓我深深的了解到光知道書本上的知識是遠遠不夠的,一定要把理論知識和實踐結合起來,要做到理論聯(lián)系實踐。由于時間及精力有限,只能實現(xiàn)系統(tǒng)的基本操作,對其他功能日后通過不斷的學習想進一步完善。深刻的了解查詢資料和閱讀相關文獻的重要性、學習專業(yè)知識的重要性、向同學和老師學習的重要性;學習到了對待任何事情都要有耐心和恒心,遇到問題要冷靜的思考,將問題化整為零,逐一解決。通過這次畢業(yè)設計,我更深刻的認識到實踐教學在大學課程中的重要性,同時發(fā)現(xiàn)自己在動手能力方面存在很大的問題,在以后的學習工作中我會努力改進自身的不足、不斷提高自己的動手實踐能力和自身的綜合能
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1