#ifndef
SOCKETTEST_H
#define SOCKETTEST_H
#include <QObject>
#include <QDebug>
#include <QTcpSocket>
#include <QAbstractSocket>
class SocketTest : public QObject
{
Q_OBJECT
public:
explicit SocketTest(QObject *parent = 0);
void Test();
signals:
public slots:
void connected();
void disconnected();
void bytesWritten(qint64 bytes);
void readyRead();
private:
QTcpSocket *socket;
};
#endif // SOCKETTEST_H #include "sockettest.h"SocketTest::SocketTest(QObject *parent) :QObject(parent){
}
void SocketTest::Test(){socket = new QTcpSocket(this);connect(socket,SIGNAL(connected()),this,SLOT(connected()));connect(socket,SIGNAL(disconnected()),this,SLOT(disconnected()));connect(socket,SIGNAL(bytesWritten(qint64)),this,SLOT(bytesWritten(qint64)));connect(socket,SIGNAL(readyRead()),this,SLOT(readyRead()));qDebug() << "connecting ....";socket->connectToHost("sina.com",80);if(!socket->waitForConnected(1000)){qDebug() << "error ...." << socket->errorString();}}
void SocketTest::connected(){qDebug() << "connected";socket->write("HEAD / HTTP/1.0\r\n\r\n\r\n");}
void SocketTest::disconnected(){qDebug() << "disconnected";}
void SocketTest::bytesWritten(qint64 bytes){qDebug() << "wo wrote:" << bytes;}
void SocketTest::readyRead(){qDebug() << "reading .." ;qDebug() << socket->readAll();}