qt有關(guān)編程十章網(wǎng)絡(luò)_第1頁(yè)
qt有關(guān)編程十章網(wǎng)絡(luò)_第2頁(yè)
qt有關(guān)編程十章網(wǎng)絡(luò)_第3頁(yè)
qt有關(guān)編程十章網(wǎng)絡(luò)_第4頁(yè)
qt有關(guān)編程十章網(wǎng)絡(luò)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

QtQuick編程QT編程—第10章網(wǎng)絡(luò)編程目標(biāo):本章旨在向?qū)W員介紹網(wǎng)絡(luò)編程中各種協(xié)議:了解常用的網(wǎng)絡(luò)協(xié)議的定義

掌握各種協(xié)議的使用方法學(xué)時(shí):3學(xué)時(shí)教學(xué)方法:講授ppt+上機(jī)操作+實(shí)例演示HTTP協(xié)議HTTP:超文本傳輸協(xié)議(HTTP-Hypertexttransferprotocol)是一種詳細(xì)規(guī)定了瀏覽器和萬(wàn)維網(wǎng)服務(wù)器之間互相通信的規(guī)則,通過(guò)因特網(wǎng)傳送萬(wàn)維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議。QNetworkRequest請(qǐng)求信息QNetworkRelay應(yīng)答信息QNetworkAccessManager協(xié)調(diào)網(wǎng)絡(luò)操作HTTP協(xié)議QNetworkAccessManager:用來(lái)協(xié)調(diào)網(wǎng)絡(luò)操作,進(jìn)度報(bào)告。QNetworkRequest:網(wǎng)絡(luò)請(qǐng)求。QNetworkReply:網(wǎng)絡(luò)請(qǐng)求應(yīng)答。

manager=newQNetworkAccessManager(this);//發(fā)送網(wǎng)絡(luò)請(qǐng)求QNetworkReply*replay=manager->get(QNetworkRequest(url));//請(qǐng)求結(jié)束后發(fā)射信號(hào)connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*)));//讀取網(wǎng)絡(luò)應(yīng)答connect(reply,SIGNAL(readyRead()),this,SLOT(httpReadyRead()));//報(bào)告下載進(jìn)度connect(reply,SIGNAL(downloadProgress(qint64,qint64)),this,SLOT(updateDataReadProgress(qint64,qint64)));//應(yīng)答結(jié)束connect(reply,SIGNAL(finished()),this,SLOT(httpFinished()));reply->deleteLater();FTP協(xié)議FTP(FileTransferProtocol)協(xié)議:Internet文件傳送的基礎(chǔ),目標(biāo)就是完成兩臺(tái)計(jì)算機(jī)之間的拷貝。FTP協(xié)議QFtp:提供了一個(gè)訪(fǎng)問(wèn)FTP的客戶(hù)端類(lèi)。

特點(diǎn):非阻塞行為。

通過(guò)命令I(lǐng)D跟蹤命令執(zhí)行過(guò)程。

報(bào)告數(shù)據(jù)傳送進(jìn)度。

支持QIODevice行為方便上傳和下載。ftp=newQFtp(this);//連接FTP服務(wù)器intid1=ftp->connectToHost("",21);//登陸服務(wù)器intid2=ftp->login(username,password);//切換到相關(guān)目錄intid3=ftp->cd("qt");//下載文件intid4=ftp->get("INSTALL");//關(guān)閉連接intid5=ftp->close();//支持QIODevice行為ftp->read();//報(bào)告數(shù)據(jù)傳送進(jìn)度connect(ftp,SIGNAL(dataTransferProgress(qint64,qint64)),this,SLOT(updateDataTransferProgress(qint64,qint64)));

獲取網(wǎng)絡(luò)接口信息QHostInfo:提供查找主機(jī)信息的功能。

//localHostName獲取本機(jī)名稱(chēng)

QStringlocalHostName=QHostInfo::localHostName();//fromName根據(jù)主機(jī)名稱(chēng)獲取主機(jī)IP信息

QHostInfoinfo=QHostInfo::fromName(localHostName);//lookupHost根據(jù)域名獲取IP信息

QHostInfo::lookupHost("",this,SLOT(lookedUp(QHostInfo)));QNetworkInterface:管理本機(jī)所有網(wǎng)絡(luò)接口。

//allInterfaces獲取本類(lèi)的所有接口

QList<QNetworkInterface>list=QNetworkInterface::allInterfaces();QNetworkAddressEntry:網(wǎng)絡(luò)接口信息QList<QNetworkAddressEntry>entryList=interface.addressEntries();//IP地址子子網(wǎng)掩碼廣播地址

qDebug()<<entry.ip().toString()<<mask().toString()<<entry.broadcast().toString();UDP協(xié)議UDP是UserDatagramProtocol的簡(jiǎn)稱(chēng),是一種無(wú)連接的傳輸層協(xié)議,提供面向事務(wù)的簡(jiǎn)單不可靠信息傳送服務(wù)。QUdpSocket*senderreceiver->bind()sender->writeDatagram()QUdpSocket*receiverreceiver->readDatagram()發(fā)送端接收端TCP協(xié)議TCP是面向連接的通信協(xié)議,通過(guò)三次握手建立連接,通訊完成時(shí)要拆除連接。建立連接QTcpServer*tcpServertcpServer->listen()QLocalSocket*clientSocketclientSocket->connectToHost()tcpSocketQTcpSocket::readyRead()服務(wù)器端客戶(hù)端SIGNAL(newConnection())QTcpServer:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論