迅為4412開(kāi)發(fā)板Qt網(wǎng)絡(luò)編程_第1頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、迅為4412開(kāi)發(fā)板qt網(wǎng)絡(luò)編程步驟二:編寫(xiě)代碼1.創(chuàng)建 qudpsocket 對(duì)象,用法 bind 函數(shù)綁定端口號(hào)和套接字,數(shù)據(jù)報(bào)到來(lái)后會(huì)發(fā)出信 號(hào)(),在綁定的槽函數(shù)內(nèi)去讀取數(shù)據(jù)。2.讀取數(shù)據(jù),數(shù)據(jù)到來(lái) haspendingdatagrams()返回 true,再用 pendingdatagramsize()獵取數(shù)據(jù)報(bào)的長(zhǎng)度,假如數(shù)據(jù)沒(méi)有被讀取完,haspendingdatagrams()就會(huì)返回 true,直至數(shù)據(jù)都被讀取完。readdatagram(data,size);參數(shù) data 為讀取的數(shù)據(jù),size 為數(shù)據(jù)長(zhǎng)度。3.發(fā)送數(shù)據(jù),用法 writedatagram 函數(shù),writed

2、atagram(const char *data, qint64 len, const qhostaddress &host, quint16 port);data:發(fā)送的數(shù)據(jù)。len:發(fā)送的數(shù)據(jù)長(zhǎng)度。host:目標(biāo) ip 地址。port:目標(biāo)端口號(hào)。4.關(guān)閉 socket 套接字。代碼如下:udp.hincludeincludenamespace ui class udp;class udp : public qmainwindowq_objectpublic:explicit udp(qwidget *parent = 0); udp();qudpsocket * udpsocke

3、t;private slots:void on_pushbutton_clicked();void readyread_slot(void);void on_pushbutton_3_clicked();void on_pushbutton_2_clicked();private:ui:udp *ui;udp.cpp:udp:udp(qwidget *parent) :qmainwindow(parent), ui(new ui:udp)ui->setupui(this);udpsocket = new qudpsocket(this);udp:udp()delete ui;/* 打開(kāi)按

4、鈕*/void udp:on_pushbutton_clicked()/綁定本端口的端口號(hào)if(udpsocket->bind(ui->cliedit->text().touint() = true)qmessagebox:information(this,"提醒","勝利");elseqmessagebox:information(this,"提醒","失敗");/綁定數(shù)據(jù)信號(hào)和槽函數(shù)connect(udpsocket,signal(readyread(),this,slot(readyread

5、_slot();/*讀取數(shù)據(jù)槽函數(shù)*/void udp:readyread_slot()qstring buf;qbytearray array;/haspendingdatagrams()返回 true 時(shí)表示起碼有一個(gè)數(shù)據(jù)報(bào)在等待被讀取while(udpsocket->haspendingdatagrams()/獵取數(shù)據(jù)array.resize(udpsocket->pendingdatagramsize();udpsocket->readdatagram(array.data(),array.size();buf = array.data();ui->recved

6、it->appendplaintext(buf);/* 發(fā)送數(shù)據(jù)*/void udp:on_pushbutton_3_clicked()quint16 port;qstring sendbuff;qhostaddress address;address.setaddress(ui->ipedit->text();/目標(biāo)機(jī)地址port = ui->portedit->text().toint();/目標(biāo)機(jī)端口號(hào)sendbuff = ui->sendedit->text();/發(fā)送的數(shù)據(jù)/發(fā)送udpsocket->writedatagram(sendbuff.tolocal8bit().data(),sendbuff.length(),address,p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論