Qt5_TCP_Client01
2016-11-22 10:42
134 查看
ZC: 代码来自<<Qt及Qt Quick开发实战精解>>“代码\src\5\5-3”(“代码\src\5\5-4”里面的代码差不多,不知有何差别...貌似应该是更为完善)
ZC: 这是 Qt5 TCP客户端 简单测试类
1、TtcpClient.h
2、TtcpClient.cpp
3、
ZC: 这是 Qt5 TCP客户端 简单测试类
1、TtcpClient.h
#ifndef TTCPCLIENT_H #define TTCPCLIENT_H #include <QObject> #include <QTcpSocket> class TtcpClient : public QObject { Q_OBJECT public: 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 <QDebug> #include <QHostAddress> #include <QDataStream> 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、
相关文章推荐
- Qt的tcpclient demo
- Qt一步步搭建TcpServer4——Client的封装与网络库的使用
- 一起看代码来玩玩QT之13 IO(two TCPServer TcpClient TcpScoket)
- QT下TCP协议通信的Client端
- Qt下Client与Server之间的双向TCP通信。
- Qt下Client与Server之间的双向TCP通信。
- Qt的tcpclient demo
- Qt下Client与Server之间的双向TCP通信
- 对Qt下对话服务器客户端的总结(MyTcpServer与MyTcpClient)
- Qt tcp client程序
- QT tcp Socket 通信开发
- C#TCPClient应用-一个简单的消息发送和接收 (转)
- 手把手教你:打开VS2010出现Visual addin错误:Could not connect to QtAppwrapper,Please make TCP 12015 is not blocke
- TCP/IP 基础 -01
- QT笔记之VS2012 TCP传送文件
- qt 之 TCP 通信代码及解释
- tcpclient类
- 转载:iphone TCPClient 示例
- tcp_client
- 稳扎稳打Silverlight(53) - 4.0通信之对WCF NetTcpBinding的支持, 在Socket通信中通过HTTP检索策略文件, HTTP请求中的ClientHttp和BrowserHttp