QT and Symbian

QT v4.x 기반 TcpClient 예제

leo21c 2025. 6. 30. 09:38

다음은 Qt 4.x 환경에서 동작하는 QTcpSocket 기반의 간단한 TCP 클라이언트 예제입니다. 앞서 제공한 서버 코드와 통신할 수 있도록 구성되어 있어요:

#include <QtCore/QCoreApplication>
#include <QtNetwork/QTcpSocket>
#include <QtCore/QDebug>

class TcpClient : public QObject {
    Q_OBJECT
public:
    TcpClient(QObject *parent = 0) : QObject(parent) {
        socket = new QTcpSocket(this);

        connect(socket, SIGNAL(connected()), this, SLOT(onConnected()));
        connect(socket, SIGNAL(readyRead()), this, SLOT(onReadyRead()));
        connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
                this, SLOT(onError(QAbstractSocket::SocketError)));

        qDebug() << "서버에 연결 시도 중...";
        socket->connectToHost("127.0.0.1", 12345);
    }

public slots:
    void onConnected() {
        qDebug() << "서버에 연결되었습니다.";
        socket->write("클라이언트에서 보낸 메시지입니다.\n");
    }

    void onReadyRead() {
        QByteArray data = socket->readAll();
        qDebug() << "서버로부터 수신:" << data;
    }

    void onError(QAbstractSocket::SocketError socketError) {
        Q_UNUSED(socketError);
        qDebug() << "소켓 오류:" << socket->errorString();
    }

private:
    QTcpSocket *socket;
};

#include "main.moc"

int main(int argc, char *argv[]) {
    QCoreApplication app(argc, argv);
    TcpClient client;
    return app.exec();
}

 

.pro 파일 설정은 다음과 같이 해주세요:

QT += core network
CONFIG += console
CONFIG -= app_bundle

 

이 클라이언트는 로컬호스트(127.0.0.1)의 포트 12345에 연결을 시도하고, 연결되면 메시지를 전송한 뒤 서버의 응답을 출력합니다.

LIST