博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt5_TCP_Client01
阅读量:5369 次
发布时间:2019-06-15

本文共 2207 字,大约阅读时间需要 7 分钟。

ZC: 代码来自<<Qt及Qt Quick开发实战精解>>“代码\src\5\5-3”(“代码\src\5\5-4”里面的代码差不多,不知有何差别...貌似应该是更为完善)

ZC: 这是 Qt5 TCP客户端 简单测试类

1、TtcpClient.h

#ifndef TTCPCLIENT_H#define TTCPCLIENT_H#include 
#include
class TtcpClient : public QObject{ Q_OBJECTpublic: explicit TtcpClient(QObject *parent = 0);signals:public slots:public: QTcpSocket *FsktTcp;public: void NewConnectZ(QString _strDestIP, qint16 _iDestPort);// 创建新连接 void AbortZ();// 取消 void CloseZ();// 关闭 // *** void WriteZ();// 发送数据public slots: void ReadyReadZ();// 读取数据 void SocketErrorZ(QAbstractSocket::SocketError _socketError);// 错误处理};#endif // TTCPCLIENT_H

2、TtcpClient.cpp

#include "TtcpClient.h"#include 
#include
#include
TtcpClient::TtcpClient(QObject *parent) : QObject(parent){ FsktTcp = new QTcpSocket(this); // 错误处理 connect(FsktTcp, SIGNAL(QAbstractSocket::error(SocketError)), this, SLOT(SocketErrorZ(QAbstractSocket::SocketError))); // 读取数据 connect(FsktTcp, SIGNAL(readyRead()), this, SLOT(ReadyReadZ()));}// 创建新连接void TtcpClient::NewConnectZ(QString _strDestIP, qint16 _iDestPort){ FsktTcp->abort(); QHostAddress ha(_strDestIP); FsktTcp->connectToHost(ha, _iDestPort);}// 取消void TtcpClient::AbortZ(){ FsktTcp->abort();}// 关闭void TtcpClient::CloseZ(){ FsktTcp->close();}// 错误处理void TtcpClient::SocketErrorZ(QAbstractSocket::SocketError _socketError){ switch(_socketError) { case QAbstractSocket::RemoteHostClosedError : { qDebug() << "Remote host closed ."; break; } default : qDebug() << FsktTcp->errorString(); }}// 读取数据void TtcpClient::ReadyReadZ(){ QDataStream in(FsktTcp); in.setVersion(QDataStream::Qt_5_5); QByteArray baRead = FsktTcp->readAll(); qDebug() << QString::fromLocal8Bit(baRead);// 接收完毕,就关闭socket}// 发送数据void TtcpClient::WriteZ(){ QByteArray outBlock; outBlock = outBlock.append("test out"); QDataStream out(&outBlock, QIODevice::WriteOnly); out.setVersion(QDataStream::Qt_5_5); //qDebug() << outBlock.size(); //out. // 发送数据 FsktTcp->write(outBlock);}

3、

 

转载于:https://www.cnblogs.com/cppskill/p/6088267.html

你可能感兴趣的文章
面向对象的介绍与特性
查看>>
typing-python用于类型注解的库
查看>>
20189215 2018-2019-2 《密码与安全新技术专题》第13周作业
查看>>
第四周作业
查看>>
一、HTML基础
查看>>
蓝牙进阶之路 (002) - HC-05与HC-06的AT指令的区别(转)
查看>>
mysql的limit经典用法及优化
查看>>
C#后台程序与HTML页面中JS方法互调
查看>>
mysql 同一个表中 字段a 的值赋值到字段b
查看>>
linux系统可执行文件添加环境变量使其跨终端和目录执行
查看>>
antiSMASH数据库:微生物次生代谢物合成基因组簇查询和预测
查看>>
UNICODE与ANSI的区别
查看>>
nginx 配置实例
查看>>
Flutter - 创建底部导航栏
查看>>
ASP.NET MVC 教程-MVC简介
查看>>
SQL Server索引 - 聚集索引、非聚集索引、非聚集唯一索引 <第八篇>
查看>>
转载:详解SAP TPM解决方案在快速消费品行业中的应用
查看>>
Android OpenGL ES 开发(N): OpenGL ES 2.0 机型兼容问题整理
查看>>
项目中用到的技术及工具汇总(持续更新)
查看>>
【算法】各种排序算法测试代码
查看>>