日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

QTcpServer / QTcpSocket 简单示例

發(fā)布時(shí)間:2025/1/21 c/c++ 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QTcpServer / QTcpSocket 简单示例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

先看服務(wù)端

#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);//設(shè)置服務(wù)端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位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的QTcpServer / QTcpSocket 简单示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。