下面是一个简单的tcp网络通信客户端demo。
头文件TcpNetWork.h
#pragma once
#include <QTcpSocket>
#include <QHostAddress>
class TcpNetwork
{
public:
TcpNetwork();
~TcpNetwork();
void networkInit(QString ip, int port);
void sendData(QString data);
QString readyRead();
private:
QTcpSocket *socket = nullptr;
};
源文件TcpNetWork.cpp
#include "TcpNetwork.h"
TcpNetwork::TcpNetwork()
{
}
TcpNetwork::~TcpNetwork()
{
if(socket != nullptr)
{
socket->disconnectFromHost();
socket = nullptr;
}
}
void TcpNetwork::networkInit(QString ip, int port)
{
socket = new QTcpSocket();
socket->connectToHost(QHostAddress(ip), port);
connect(socket, &QTcpSocket::readyRead, this, &TcpNetwork::readyRead);
}
void TcpNetwork::sendData(QString data)
{
if(socket != nullptr)
{
socket->write(data.toUtf8().constData());
}
}
QString TcpNetwork::readyRead()
{
QSt