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