国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

天津網(wǎng)站建設推廣百度網(wǎng)址大全電腦版舊版本

天津網(wǎng)站建設推廣,百度網(wǎng)址大全電腦版舊版本,商城網(wǎng)站建設框架,房地產(chǎn)管理系統(tǒng)文章目錄概要:本期主要講解QT中對于TCP協(xié)議通信的實現(xiàn)。一、TCP協(xié)議二、Qt中TCP協(xié)議處理1.QTcpSocket2.QTcpServer三、Qt實現(xiàn)TCP通信1.客戶端2.服務器端結(jié)尾概要:本期主要講解QT中對于TCP協(xié)議通信的實現(xiàn)。 一、TCP協(xié)議 傳輸控制協(xié)議(TCP&am…

文章目錄

  • 概要:本期主要講解QT中對于TCP協(xié)議通信的實現(xiàn)。
  • 一、TCP協(xié)議
  • 二、Qt中TCP協(xié)議處理
    • 1.QTcpSocket
    • 2.QTcpServer
  • 三、Qt實現(xiàn)TCP通信
    • 1.客戶端
    • 2.服務器端
  • 結(jié)尾

概要:本期主要講解QT中對于TCP協(xié)議通信的實現(xiàn)。

一、TCP協(xié)議

傳輸控制協(xié)議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793 定義。
TCP建立連接前,需要進行三次握手,如下圖所示:
在這里插入圖片描述
TCP斷開連接前,需要進行四次揮手,如下圖所示:

在這里插入圖片描述

二、Qt中TCP協(xié)議處理

Qt中提供了QTcpSocket類和QTcpServer類分別用于創(chuàng)建TCP套接字和TCP服務器套接字。

1.QTcpSocket

QTcpSocket類繼承與QAbstractSocket,主要提供了socket套接字的創(chuàng)建、綁定端口、連接服務器等。
QAbstractSocket類

2.QTcpServer

QTcpServer類繼承于QSctpServer,主要提供了對于TCP連接信號的響應和監(jiān)聽等。
QTcpServer

三、Qt實現(xiàn)TCP通信

1.客戶端

客戶端是發(fā)送端,主要實現(xiàn)與服務器端建立連接、發(fā)送數(shù)據(jù)。步驟如下:
建立TCP套接字 --> 連接服務器 --> 發(fā)送數(shù)據(jù)
下面是客戶端的源碼:

#ifndef TCPCLIENT_H
#define TCPCLIENT_H#include <QObject>
#include <QTcpSocket>
#include <QHostAddress>
#include <QDebug>
#include <QTimer>class TCPClient : QObject
{Q_OBJECT
public:TCPClient();void InitSocket();//初始化Socket套接字void InitTimer();//初始化定時器,定時發(fā)送void ConnectToServer();//連接服務器void SendData();//發(fā)送數(shù)據(jù)private:QTcpSocket *mTcpSocket;//Tcp連接套接字QHostAddress mServerAddress;//服務器IPQTimer *mTimer;//定時器對象};#endif // TCPCLIENT_H
#include "tcpclient.h"TCPClient::TCPClient()
{InitSocket();ConnectToServer();InitTimer();}void TCPClient::InitSocket()
{mTcpSocket = new QTcpSocket;//初始化Tcp連接套接字mServerAddress.setAddress("10.0.0.177");//設置服務器地址
}void TCPClient::InitTimer()
{mTimer = new QTimer;//初始化定時器對象connect(mTimer,&QTimer::timeout,this,[=]{SendData();});mTimer->start(1000);//每隔一秒發(fā)送一次數(shù)據(jù)
}void TCPClient::ConnectToServer()
{quint16 _port = 7777;//設置服務器端口connect(mTcpSocket,&QTcpSocket::connected,this,[=]{qDebug()<< "Connect To Server Successful!"<<endl;});mTcpSocket->connectToHost(mServerAddress,_port,QIODevice::WriteOnly);//連接服務器}void TCPClient::SendData()
{QByteArray _data = "hello";if(-1 != mTcpSocket->write(_data.data(),_data.length())){qDebug()<< "TCP ==> Send data : "<< _data<<endl;}mTcpSocket->flush();
}

2.服務器端

服務器端是接收端,主要實現(xiàn)監(jiān)聽連接信號,建立連接和接收數(shù)據(jù)。步驟如下:
建立監(jiān)聽套接字 --> 連接到客戶端 --> 獲得連接套接字 --> 接收數(shù)據(jù)
下面是服務器端源碼:

#ifndef TCPSEVER_H
#define TCPSEVER_H#include <QObject>
#include <QHostAddress>
#include <QTcpServer>
#include <QTcpSocket>
#include <QDebug>class TCPSever : QObject
{Q_OBJECT
public:TCPSever();void InitServer();//初始化服務器
private:QTcpServer *mTcpServer;//服務器對象QTcpSocket *mTcpSocket;//客戶端套接字QHostAddress mHostAddress;//本地IP地址};#endif // TCPSEVER_H
#include "tcpsever.h"TCPSever::TCPSever()
{InitServer();
}void TCPSever::InitServer()
{mTcpServer = new QTcpServer(this);//初始化監(jiān)聽套接字mTcpSocket = new QTcpSocket;//初始化連接套接字mHostAddress.setAddress("10.0.0.177");//設置監(jiān)聽網(wǎng)卡IPquint16 _port = 7777;//設置監(jiān)聽端口mTcpServer->listen(mHostAddress,_port);//監(jiān)聽指定網(wǎng)卡和端口qDebug()<<"Listen Interface ["<<mHostAddress.toString()<<"] And Port ["<<_port<<"] Successful!"<<endl;connect(mTcpServer,&QTcpServer::newConnection,this,[=]{mTcpSocket = mTcpServer->nextPendingConnection();//獲取連接套接字qDebug()<<"Connect To Client Successful!"<<endl;connect(mTcpSocket,&QTcpSocket::readyRead,this,[=]{//讀取消息QByteArray _data = mTcpSocket->readAll();qDebug()<<"TCP Receive Data : "<<QString::fromLatin1(_data)<<endl;});});}

結(jié)尾

以上就是QT中TCP通信模塊的全部內(nèi)容,然后上面的源碼可以直接編,但是記得去PRO文件中加入network模塊:)

http://aloenet.com.cn/news/45985.html

相關文章:

  • 網(wǎng)站開發(fā)課程技術(shù)培訓中國廣告網(wǎng)
  • wordpress留言版添加如何做網(wǎng)站推廣及優(yōu)化
  • 下載wordpress建站程序seo網(wǎng)站結(jié)構(gòu)優(yōu)化
  • 女生java網(wǎng)站開發(fā)培訓后好找工作西安百度推廣客服電話多少
  • 南橋做網(wǎng)站什么是百度競價排名服務
  • 網(wǎng)絡規(guī)劃設計師報考條件seo自然排名優(yōu)化
  • 網(wǎng)站制作_做網(wǎng)站_耐思智慧什么叫口碑營銷
  • 橙子建站官方網(wǎng)站新鄉(xiāng)seo推廣
  • 東莞大型網(wǎng)站建設哪家好網(wǎng)站搭建關鍵詞排名
  • 西安做網(wǎng)站印象網(wǎng)絡整合營銷策劃
  • 新鄉(xiāng)網(wǎng)站建設哪家正規(guī)不需要驗證碼的廣告平臺
  • 低價的網(wǎng)站建設互聯(lián)網(wǎng)公司排名2021
  • 太原做網(wǎng)站的惠州seo排名公司
  • 永久免費網(wǎng)站建立國內(nèi)新聞最新消息今天
  • 建設部網(wǎng)站施工合同公司官網(wǎng)開發(fā)制作
  • dw如何用表格做網(wǎng)站深圳網(wǎng)站設計知名樂云seo
  • 閘北專業(yè)做網(wǎng)站seo搜索引擎實訓心得體會
  • 簡單模板網(wǎng)站制作時間百度優(yōu)化是什么意思
  • 武漢網(wǎng)站建設老牌公司適合推廣的app有哪些
  • 網(wǎng)站建設代碼生成器重慶seo外包平臺
  • dw軟件做二級連接網(wǎng)站長春網(wǎng)站制作推廣
  • 南京美容網(wǎng)站建設營銷案例
  • 網(wǎng)站建設報價明細表指數(shù)分布的分布函數(shù)
  • 福州正規(guī)網(wǎng)站建設公司報價雙灤區(qū)seo整站排名
  • 蕪湖做公司網(wǎng)站網(wǎng)站優(yōu)化排名網(wǎng)站
  • 哪個教育網(wǎng)站做助理造價師培訓關鍵詞優(yōu)化排名用哪些軟件比較好
  • 手機網(wǎng)站推廣怎么做軟文營銷常用的方式
  • 凡科做的網(wǎng)站手機版目錄搜索引擎有哪些
  • 有什么軟件可以找客戶搜索引擎營銷與seo優(yōu)化
  • 網(wǎng)站admin目錄名怎么改百度運營公司