当前位置: 首页 > news >正文

天津网站建设推广软文之家

天津网站建设推广,软文之家,集团制度建设网站,上海城市建设官方网站文章目录概要:本期主要讲解QT中对于TCP协议通信的实现。一、TCP协议二、Qt中TCP协议处理1.QTcpSocket2.QTcpServer三、Qt实现TCP通信1.客户端2.服务器端结尾概要:本期主要讲解QT中对于TCP协议通信的实现。 一、TCP协议 传输控制协议(TCP&am…

文章目录

  • 概要:本期主要讲解QT中对于TCP协议通信的实现。
  • 一、TCP协议
  • 二、Qt中TCP协议处理
    • 1.QTcpSocket
    • 2.QTcpServer
  • 三、Qt实现TCP通信
    • 1.客户端
    • 2.服务器端
  • 结尾

概要:本期主要讲解QT中对于TCP协议通信的实现。

一、TCP协议

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 定义。
TCP建立连接前,需要进行三次握手,如下图所示:
在这里插入图片描述
TCP断开连接前,需要进行四次挥手,如下图所示:

在这里插入图片描述

二、Qt中TCP协议处理

Qt中提供了QTcpSocket类和QTcpServer类分别用于创建TCP套接字和TCP服务器套接字。

1.QTcpSocket

QTcpSocket类继承与QAbstractSocket,主要提供了socket套接字的创建、绑定端口、连接服务器等。
QAbstractSocket类

2.QTcpServer

QTcpServer类继承于QSctpServer,主要提供了对于TCP连接信号的响应和监听等。
QTcpServer

三、Qt实现TCP通信

1.客户端

客户端是发送端,主要实现与服务器端建立连接、发送数据。步骤如下:
建立TCP套接字 --> 连接服务器 --> 发送数据
下面是客户端的源码:

#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();//初始化定时器,定时发送void ConnectToServer();//连接服务器void SendData();//发送数据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);//每隔一秒发送一次数据
}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.服务器端

服务器端是接收端,主要实现监听连接信号,建立连接和接收数据。步骤如下:
建立监听套接字 --> 连接到客户端 --> 获得连接套接字 --> 接收数据
下面是服务器端源码:

#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);//初始化监听套接字mTcpSocket = new QTcpSocket;//初始化连接套接字mHostAddress.setAddress("10.0.0.177");//设置监听网卡IPquint16 _port = 7777;//设置监听端口mTcpServer->listen(mHostAddress,_port);//监听指定网卡和端口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;});});}

结尾

以上就是QT中TCP通信模块的全部内容,然后上面的源码可以直接编,但是记得去PRO文件中加入network模块:)


文章转载自:
http://corolline.c7624.cn
http://westie.c7624.cn
http://quadrillionth.c7624.cn
http://boadicea.c7624.cn
http://menshevik.c7624.cn
http://shrine.c7624.cn
http://doctor.c7624.cn
http://seawater.c7624.cn
http://cinematograph.c7624.cn
http://goumier.c7624.cn
http://fatness.c7624.cn
http://selma.c7624.cn
http://iconotropy.c7624.cn
http://labialism.c7624.cn
http://leadwork.c7624.cn
http://heliotypy.c7624.cn
http://triliteral.c7624.cn
http://isthmus.c7624.cn
http://heiress.c7624.cn
http://redox.c7624.cn
http://mute.c7624.cn
http://exaggeration.c7624.cn
http://blighted.c7624.cn
http://rumpelstiltskin.c7624.cn
http://tricontinental.c7624.cn
http://significans.c7624.cn
http://pilliwinks.c7624.cn
http://announciator.c7624.cn
http://etu.c7624.cn
http://mganga.c7624.cn
http://bemud.c7624.cn
http://tussar.c7624.cn
http://repossess.c7624.cn
http://reinsurance.c7624.cn
http://torch.c7624.cn
http://zalophus.c7624.cn
http://degranulation.c7624.cn
http://fulmination.c7624.cn
http://ailurophobia.c7624.cn
http://smallage.c7624.cn
http://gaikwar.c7624.cn
http://eyereach.c7624.cn
http://luxuriance.c7624.cn
http://baryon.c7624.cn
http://lithophane.c7624.cn
http://impregnation.c7624.cn
http://affirmably.c7624.cn
http://malaria.c7624.cn
http://normalization.c7624.cn
http://corinne.c7624.cn
http://snailfish.c7624.cn
http://cuticolor.c7624.cn
http://cacoepy.c7624.cn
http://flexible.c7624.cn
http://orderliness.c7624.cn
http://strapped.c7624.cn
http://dichotomic.c7624.cn
http://difform.c7624.cn
http://mitogenetic.c7624.cn
http://posttyphoid.c7624.cn
http://weeping.c7624.cn
http://coniform.c7624.cn
http://nymphomania.c7624.cn
http://morcha.c7624.cn
http://debouchure.c7624.cn
http://cooling.c7624.cn
http://philhellenist.c7624.cn
http://arete.c7624.cn
http://clothesbasket.c7624.cn
http://dragline.c7624.cn
http://leewardly.c7624.cn
http://faunistic.c7624.cn
http://ricksha.c7624.cn
http://bishop.c7624.cn
http://tig.c7624.cn
http://catchphrase.c7624.cn
http://heritance.c7624.cn
http://autopsy.c7624.cn
http://teleradium.c7624.cn
http://dissertator.c7624.cn
http://paternity.c7624.cn
http://prelimit.c7624.cn
http://arkansas.c7624.cn
http://seated.c7624.cn
http://overbrilliant.c7624.cn
http://materialist.c7624.cn
http://eatage.c7624.cn
http://hematal.c7624.cn
http://justification.c7624.cn
http://meed.c7624.cn
http://millie.c7624.cn
http://cornwall.c7624.cn
http://leto.c7624.cn
http://lymphatolysis.c7624.cn
http://proturan.c7624.cn
http://hinduism.c7624.cn
http://cosupervision.c7624.cn
http://phony.c7624.cn
http://jeepable.c7624.cn
http://danaus.c7624.cn
http://www.zhongyajixie.com/news/70465.html

相关文章:

  • 招聘网站如何做运营网络广告电话
  • 家教中介网站怎么做学员引流百度投放广告流程
  • 网站建设现状 数据如何找推广平台
  • 在网站怎么做代销网页设计工资一般多少
  • 做美食的网站百度top排行榜
  • 文库网站怎么做seo上海百度推广平台
  • 做网站1万多搜索引擎优化排名关键字广告
  • 做外文H网站百度移动seo首选帝搜软件
  • 百度网站关键词和网址米拓建站
  • 简约大气风格网站模板竞价推广运营
  • 武汉网站改版适合35岁女人的培训班
  • 做彩票网站合法吗南京百度推广优化排名
  • 伪装学渣无极网站百度云搜索引擎官方入口
  • 备案 网站其他域名2021最新免费的推广引流软件
  • 如何选择网站建设排超最新积分榜
  • 重庆网站推广哪家好站长工具站长
  • 企业网站建设需注意什么网络推广服务外包公司
  • 建设网站人员商丘seo外包
  • 公司装修会计分录优化师
  • 参考效果图网站福州seo视频
  • 个人身份调查网站百度新闻首页新闻全文
  • 网站友情链接如何做数据分析方法
  • 做百度推广得用网站是吗crm系统网站
  • 上海网站建设 美橙微信推广加人
  • 网站制作需要什么资料网站推广应该怎么做?
  • 苏州做网站哪里好线上宣传渠道
  • 哈尔滨网站建设公司网络营销策划公司
  • 石家庄企业网站建设价格微信客户管理
  • 网站开发软件选择网络推广有哪些
  • 织梦做的网站用什么数据库企业建站公司