TcpTester.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "Qt.h"
00024 #include "TcpTester.h"
00025 #include "Imports.cpp"
00026
00027 TcpTester::TcpTester()
00028 : server(), incoming (0)
00029 {
00030 QObject::connect (&server, SIGNAL (newConnection()),
00031 this, SLOT (newConnection()));
00032 bool ok = server.listen(QHostAddress ("127.0.0.1"));
00033 Q_ASSERT (ok == true);
00034 }
00035
00036 TcpTester::~TcpTester()
00037 {
00038 delete incoming;
00039 incoming = 0;
00040 server.close();
00041 }
00042
00043 QByteArray TcpTester::connectAddress() const
00044 {
00045 return server.serverAddress().toString().toLatin1()
00046 + ":" + QByteArray().number (server.serverPort());
00047 }
00048
00049 void TcpTester::acceptConnection()
00050 {
00051 }
00052
00053 void TcpTester::rejectConnections()
00054 {
00055 server.close();
00056 }
00057
00058 void TcpTester::newConnection()
00059 {
00060 incoming = server.nextPendingConnection();
00061 Q_ASSERT (incoming != 0);
00062 QObject::connect (incoming, SIGNAL (readyRead()),
00063 this, SLOT (readBytes()));
00064 QObject::connect (incoming, SIGNAL (bytesWritten (qint64)),
00065 this, SLOT (writeBytes()));
00066 }
00067
00068 void TcpTester::readBytes()
00069 {
00070 Q_ASSERT (incoming != 0);
00071 bytesRead += incoming->readAll();
00072 }
00073
00074 void TcpTester::writeBytes()
00075 {
00076 int written = incoming->write (bytesToWrite);
00077 if (written > 0)
00078 bytesToWrite = bytesToWrite.mid (written);
00079 }