QTcpServer / QTcpSocket 简单示例
生活随笔
收集整理的這篇文章主要介紹了
QTcpServer / QTcpSocket 简单示例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先看服務端
#include <QObject> #include <QTcpServer> #include <QTcpSocket>class CTcpServer : public QObject {Q_OBJECT public:explicit CTcpServer(QObject *parent = 0);~CTcpServer();private slots:void onNewConnection();void onReadMessage();private:void _writeData(QString data); private:QTcpServer * m_pTcpServer;QTcpSocket * m_pTcpSocket; };源文件
CTcpServer::CTcpServer(QObject *parent) : QObject(parent) {m_pTcpServer = new QTcpServer();m_pTcpServer->listen(QHostAddress::Any,1122);connect(m_pTcpServer,&QTcpServer::newConnection,this,&TLTcpServer::onNewConnection); }void CTcpServer::onNewConnection() {m_pTcpSocket = m_pTcpServer->nextPendingConnection();connect(m_pTcpSocket,&QTcpSocket::readyRead,this,&CTcpServer::onReadMessage); }void CTcpServer::onReadMessage() {QByteArray ba = m_pTcpSocket->readAll();}void CTcpServer::_writeData(QString data) {QByteArray array = data.toStdString().c_str();m_pTcpSocket->write(array,strlen(array)); }客戶端
#include <QObject> #include <QTcpSocket>class CTcpSocket : public QObject {Q_OBJECT public:explicit CTcpSocket(QObject *parent = 0);~CTcpSocket();void setHostAddr(QString hostAddr);//設置服務端ip地址void setSendData(QByteArray data); private slots:void onReadyRead(); private:QTcpSocket * m_pTcpSocket = NULL; };源文件
CTcpSocket::CTcpSocket(QObject *parent) : QObject(parent) {m_pTcpSocket = new QTcpSocket(); connect(m_pTcpSocket,&QTcpSocket::readyRead,this,&CTcpSocket ::onReadyRead); }CTcpSocket::~CTcpSocket() {delete m_pTcpSocket; }void CTcpSocket::onReadyRead() { QByteArray ba = m_pSocket->readAll();qDebug() << "tcpSocket::onReadyRead() ba="<<ba; } void CTcpSocket::setHostAddr(QString hostAddr) {m_pTcpSocket->connectToHost(hostAddr,5678);if(!m_pTcpSocket->waitForConnected()){qDebug() << "Rcontrol socket connect error";}else{qDebug() << "Rcontrol socket connect success";} }void CTcpSocket::setSendData(QByteArray data) {m_pTcpSocket->write(data);m_pTcpSocket->flush(); } 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的QTcpServer / QTcpSocket 简单示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android通过广播监测Wi-Fi和便
- 下一篇: QML中类似QMap的用法