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

正文內容

最新基于嵌入式系統(tǒng)的聊天程序設計(編輯修改稿)

2024-07-16 03:49 本頁面
 

【文章內容簡介】 地址(可讀可寫),另一個用于輸入服務器端口號(可讀可寫)。(2)三個按鈕,一個用于連接服務器,另一個用于發(fā)送消息,最后一個用于清空發(fā)送區(qū)域數(shù)據(jù)。(3)四個標簽,用于顯示不用組件的內容。(4)兩個MultiLineedit,一個用于顯示通信內容(只讀),一個作為發(fā)送區(qū)域(可讀可寫)。 服務器端和客戶端的數(shù)據(jù)是用TCP套接字來傳輸?shù)?。IP地址表示Internet上的計算機,端口號標識正在計算機運行的進程。端口號與IP地址的組合得出一個網絡套接字??蛻舳耸褂胠inux C 函數(shù)socket建立到服務器的套接字連接。 當套接字連接socket建立后,可以利用linux C語言中的send函數(shù)和recv函數(shù)來實現(xiàn)簡單的發(fā)送和接收消息。 服務器端功能設計由于時間有限,服務器并沒有用QT來編寫界面,只是實現(xiàn)一個簡單的控制程序。服務器主要實現(xiàn)有:(1)創(chuàng)建套接字(2)對套接字、IP地址和端口號進行綁定(3)進行監(jiān)聽(4)等待客戶端的連接(5)對客戶端接收和發(fā)送數(shù)據(jù)客戶端使用QT設計界面,客戶端實現(xiàn)的功能如下: (1)創(chuàng)建套接字 (2)連接服務器 (3)與服務器通信四、總體設計 總體功能根據(jù)對需求所做的分析,聊天程序需要實現(xiàn)的基本功能應包括以下幾個方面:(1) 客戶端輸入服務器IP和端口號。(2) 服務器必須成功啟動。(3) 每一個客戶端可以尋找服務器,并且與服務器建立連接。(4) 客戶端和服務器可以實現(xiàn)通信。(5) 通信的內容可以方便查看。 使用QT設計的界面簡潔,大方,操作簡單,方便,容易上手,用戶可以快速掌握操作流程。五、 詳細設計 功能分析和描述 聊天工具包括兩大功能模塊:客戶端和服務器端。具體實現(xiàn)的功能創(chuàng)建套接字、連接通信、接收數(shù)據(jù)顯示和發(fā)送數(shù)據(jù)。 客戶端功能模塊 連接服務器連接服務器之前需要解析服務器地址、創(chuàng)建套接字、設置sockaddr_in 結構體中相關參數(shù)。連接功能是開始聊天前必須進行的步驟,連接成功之后,就可以進行發(fā)送消息了。發(fā)送消息功能流程圖如圖25所示: 圖25 發(fā)送消息功能流程圖連接成功后,就可以接收服務器發(fā)送過來的數(shù)據(jù)。 服務器功能模塊 服務器的設計并沒有使用QT編寫界面,服務器端實現(xiàn)的功能有: 圖28 服務器模塊流程圖六、代碼實現(xiàn) 客戶端代碼 QT構造和析構函數(shù)EditDemo::EditDemo( QWidget *parent, const char *name):QWidget(parent, name){ QGridLayout *grid = new QGridLayout(this, 6, 3, 0, 0)。 //IP addr QLabel *label1 = new QLabel( IP Addr:, this)。 gridaddWidget( label1, 0, 0 )。 edit_ip = new QLineEdit(this)。 edit_ipsetText()。 gridaddWidget( edit_ip, 0, 1 )。 //Server Port QLabel *label2 = new QLabel( Server Port:, this)。 gridaddWidget( label2, 1, 0)。 edit_port = new QLineEdit(this)。 edit_portsetText(4321)。 gridaddWidget( edit_port, 1, 1)。 QPushButton *btn = new QPushButto
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1