Qt实现简单的TCP协议(客户端的实现)
1、QT提供了QTcpSocket类,可以直接实例化一个客户端。需要在pro文件中添加 QT += network
2、连接服务端
connect(connectbutton,SIGNAL(clicked()),this,SLOT(on_connect_cliked()));
void MyDialog::on_connect_cliked(){
if(connectbutton->text()=="连接")
{
m_socket->connectToHost("192.168.0.103",8899,QTcpSocket::ReadWrite);
if(!m_socket->waitForConnected())
{
qDebug()<<"client connect error";
}
else{
qDebug()<<"已连接上";
connectbutton->setText("断开");
}
}
else
{
m_socket->disconnectFromHost();
if(m_socket->state()==QAbstractSocket::UnconnectedState
|| m_socket->waitForDisconnected(1000))
{
qDebug()<<"已断开";
connectbutton->setText("连接");
}
}
}
3、接受服务端发来的数据
QTimer *timer = new QTimer;
connect(timer,SIGNAL(timeout()),this,SLOT(receive_repeat()));
timer->start(1);
void MyDialog::readData(){
QByteArray buffer = m_socket->readAll();
if(!buffer.isEmpty())
{
receivee.append(buffer);
qDebug()<<"添加了数据";
}
}
4、给服务端发送数据
connect(sendbutton,SIGNAL(clicked()),this,SLOT(send_msg()));
void MyDialog::send_msg(){
QString data = sendtext->toPlainText();
if(data != "")
{
// qDebug()<<"mydialog sendtext2"<<data;
m_socket->write(data.toLatin1());
}
}
Qt实现简单的TCP协议(客户端的实现)的更多相关文章
- 网络编程----------SOCKET编程实现简单的TCP协议
首先我们须要大致了解TCP的几点知识: 1.TCP的特点:面向连接的可靠性传输 2.TCP的三次握手建立连接和四次挥手释放连接.但为什么TCP要三次握手建立连接呢? 答:由于两次握手无法保证可靠性.若 ...
- windows网络编程-C语言实现简单的TCP协议聊天
TCP/IP协议(面向连接协议)类似于打电话时,对方一定在手机附近并且此刻都在和对方进行通话.一定保证双方都在线,才能进行数据传输.UDP/IP协议(无连接协议)就像邮箱,不保证对方一定在等你邮件且对 ...
- 二、网络编程-socket之TCP协议开发客户端和服务端通信
知识点:之前讲的udp协议传输数据是不安全的,不可靠不稳定的,tcp协议传输数据安全可靠,因为它们的通讯机制是不一样的.udp是用户数据报传输,也就是直接丢一个数据包给另外一个程序,就好比寄信给别人, ...
- python中基于tcp协议的通信(数据传输)
tcp协议:流式协议(以数据流的形式通信传输).安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信) tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层.数据 ...
- CS144学习(2)TCP协议实现
Lab1-4 分别是完成一个流重组器,TCP接收端,TCP发送端,TCP连接四个部分,将四个部分组合在一起就是一个完整的TCP端了.之后经过包装就可以进行TCP的接收和发送了. 代码全部在github ...
- 一个简单的工具开发:从学生端更新程序部署工具说起,浅谈qt中自定义控件制作和调用、TCP协议下文件的收发 、以及可执行文件的打包
一个简单的工具开发:从学生端更新程序部署工具说起,浅谈qt中ui的使用和TCP协议下文件的收发.以及可执行文件的打包 写在前面,Qt Designer是一个非常操蛋的页面编辑器,它非常的...怎么说呢 ...
- python3实现TCP协议的简单服务器和客户端
利用python3来实现TCP协议,和UDP类似.UDP应用于及时通信,而TCP协议用来传送文件.命令等操作,因为这些数据不允许丢失,否则会造成文件错误或命令混乱.下面代码就是模拟客户端通过命令行操作 ...
- Http协议与TCP协议简单理解(转)
在C#编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解.TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上 ...
- Http协议与TCP协议简单理解
TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.Http会通 ...
- TCP协议三次握手过程分析【图解,简单清晰】
转自:http://www.cnblogs.com/rootq/articles/1377355.html TCP(Transmission Control Protocol) 传输控制协议 TCP是 ...
随机推荐
- 体验 Gitea Actions
即将推出的 Gitea Actions 致力于打造一个 CI/CD 工具的标准协议,第三方 CI 系统可以基于actions 协议与 Gitea 平台集成,提供一站式管理方案.Gitea Action ...
- 线性方程组的直接解法——Gauss消去法
考虑线性方程组 \[\mathrm{A}x=\mathrm{b} \] 其中,\(\mathrm{A}=(a_{ij})_{n\times n}\),\(\mathrm{b}=[b_1,b_2,\cd ...
- 一个实现单线程/多线程下代码调用链中传递数据的处理类: CallContext(LogicalSetData,LogicalGetData),含.net core的实现
详情请参考原文:一个实现单线程/多线程下代码调用链中传递数据的处理类: CallContext
- ubunut安装qtcreater
安装gcc 1 kxb@kxb:~$ gcc -v 2 3 Command 'gcc' not found, but can be installed with: 4 5 sudo apt insta ...
- day05-Vue02
Vue02 7.修饰符 7.1基本说明 修饰符(Modifiers)是以.指明的后缀,指出某个指令以特殊方式绑定 官方文档:修饰符 Vue中的修饰符有: 事件修饰符 按键修饰符 系统修饰符 事件修饰符 ...
- gRPC入门与实操(.NET篇)
为什么选择 gRPC 历史 长久以来,我们在前后端交互时使用WebApi + JSON方式,后端服务之间调用同样如此(或者更久远之前的WCF + XML方式).WebApi + JSON 是优选的,很 ...
- python之路33 MySQL 1
存取数据的演变 1.文本文件 文件路径不固定:C:\aaa.txt D:\bbb.txt E:\ccc.txt 数据格式不统一:jason|123 jason$123 jason 123 2.软件开发 ...
- Python求取文件夹内的文件数量、子文件夹内的文件数量
本文介绍基于Python语言,统计文件夹中文件数量:若其含有子文件夹,还将对各子文件夹中的文件数量一并进行统计的方法. 最近,需要统计多个文件夹内部的文件数量,包括其中所含子文件夹中的文件数量 ...
- Nacos配置中心 (介绍与配置)
Nacos配置中心 当微服务部署的实例越来越多,达到数十.数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错.我们需要一种统一配置管理方案,可以集中管理所有实例的配置. Nacos一方面可以将配置 ...
- java通过idea启动查看类加载来源信息
本文为博主原创,转载请注明出处: jdk 8 环境时,可以在启动的环境中配置 :-XX:+TraceClassLoading 进行启动时查看 jdk 11 环境时,可以在启动的JVM 环境中配置 ...