提交 d31d32cc 编写于 作者: 丁劲犇's avatar 丁劲犇 😸

Improve TCP client test approach

上级 ba3ad343
......@@ -18,7 +18,7 @@ QTcpClientTest::QTcpClientTest(QWidget *parent, Qt::WindowFlags flags)
ui.horizontalSlider->setValue(settings.value("Payload","2048").toInt());
ui.label_load->setText(QString("Payload = %1").arg(settings.value("Payload","2048").toInt()));
ui.checkBox_SSL->setChecked(settings.value("SSL",false).toBool());
ui.lineEdit_globalFile->setText(settings.value("globalFile","/zpserver_syn.debug").toString());
ui.lineEdit_globalFile->setText(settings.value("globalFile","../zpserver_syn.debug").toString());
ui.listView_msg->setModel(&model);
m_maxUUID = 2;
m_minUUID = 0xffffffff;
......@@ -52,7 +52,7 @@ void QTcpClientTest::on_action_Connect_triggered(bool bConn)
{
killTimer(nTimer);
ui.dockWidget->setEnabled(true);
QList<QTcpSocket*> listObj = m_clients.keys();
QList<QTcpSocket*> listObj = m_clients.values();
foreach(QTcpSocket * sock,listObj)
sock->disconnectFromHost();
......@@ -88,12 +88,6 @@ void QTcpClientTest::on_client_connected()
if (pSockSsl)
{
pSockSsl->geneGlobalUUID(ui.lineEdit_globalFile->text());
if (pSockSsl->uuid()>m_maxUUID)
m_maxUUID = pSockSsl->uuid();
if (pSockSsl->uuid()<m_minUUID)
m_minUUID = pSockSsl->uuid();
displayMessage(QString("client %1 connected.").arg(pSockSsl->uuid()));
QByteArray array(sizeof(EXAMPLE_HEARTBEATING),0);
char * ptr = array.data();
......@@ -105,12 +99,6 @@ void QTcpClientTest::on_client_connected()
}
else if (pSockTcp)
{
pSockTcp->geneGlobalUUID(ui.lineEdit_globalFile->text());
if (pSockTcp->uuid()>m_maxUUID)
m_maxUUID = pSockTcp->uuid();
if (pSockTcp->uuid()<m_minUUID)
m_minUUID = pSockTcp->uuid();
displayMessage(QString("client %1 connected.").arg(pSockTcp->uuid()));
QByteArray array(sizeof(EXAMPLE_HEARTBEATING),0);
char * ptr = array.data();
......@@ -124,12 +112,6 @@ void QTcpClientTest::on_client_connected()
QGHTcpClient * pSockTcp = qobject_cast<QGHTcpClient*>(sender());
if (pSockTcp)
{
pSockTcp->geneGlobalUUID(ui.lineEdit_globalFile->text());
if (pSockTcp->uuid()>m_maxUUID)
m_maxUUID = pSockTcp->uuid();
if (pSockTcp->uuid()<m_minUUID)
m_minUUID = pSockTcp->uuid();
displayMessage(QString("client %1 connected.").arg(pSockTcp->uuid()));
QByteArray array(sizeof(EXAMPLE_HEARTBEATING),0);
char * ptr = array.data();
......@@ -155,7 +137,7 @@ void QTcpClientTest::on_client_disconnected()
disconnect(pSockSsl, SIGNAL(disconnected()),this,SLOT(on_client_disconnected()));
disconnect(pSockSsl, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(displayError(QAbstractSocket::SocketError)));
disconnect(pSockSsl, SIGNAL(bytesWritten(qint64)), this, SLOT(on_client_trasferred(qint64)));
m_clients.remove(pSockSsl);
m_clients.remove(pSockSsl->uuid());
pSockSsl->deleteLater();
}
else if (pSockTcp)
......@@ -167,7 +149,7 @@ void QTcpClientTest::on_client_disconnected()
disconnect(pSockTcp, SIGNAL(disconnected()),this,SLOT(on_client_disconnected()));
disconnect(pSockTcp, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(displayError(QAbstractSocket::SocketError)));
disconnect(pSockTcp, SIGNAL(bytesWritten(qint64)), this, SLOT(on_client_trasferred(qint64)));
m_clients.remove(pSockTcp);
m_clients.remove(pSockTcp->uuid());
pSockTcp->deleteLater();
}
#else
......@@ -181,7 +163,7 @@ void QTcpClientTest::on_client_disconnected()
disconnect(pSockTcp, SIGNAL(disconnected()),this,SLOT(on_client_disconnected()));
disconnect(pSockTcp, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(displayError(QAbstractSocket::SocketError)));
disconnect(pSockTcp, SIGNAL(bytesWritten(qint64)), this, SLOT(on_client_trasferred(qint64)));
m_clients.remove(pSockTcp);
m_clients.remove(pSockTcp->uuid());
pSockTcp->deleteLater();
}
#endif
......@@ -236,7 +218,7 @@ void QTcpClientTest::timerEvent(QTimerEvent * evt)
{
int nTotalClients = ui.dial->value();
int nPayload = ui.horizontalSlider->value();
QList<QTcpSocket*> listObj = m_clients.keys();
QList<QTcpSocket*> listObj = m_clients.values();
nCount++;
if (nCount % 100 == 0)
{
......@@ -276,8 +258,39 @@ void QTcpClientTest::timerEvent(QTimerEvent * evt)
if (pSockTcp)
pSockTcp->SendData(array);
#endif
//calculate minUUID
}
}
//!re-calculate uuid max,min
m_maxUUID = 2;
m_minUUID = 0xffffffff;
foreach(QTcpSocket * sock,listObj)
{
quint32 uuid = 0;
#if (ZP_WANTSSL!=0)
QGHSslClient * pSockSsl = qobject_cast<QGHSslClient*>(sock);
QGHTcpClient * pSockTcp = qobject_cast<QGHTcpClient*>(sock);
if (pSockSsl)
uuid = pSockSsl->uuid();
else if (pSockTcp)
uuid = pSockTcp->uuid();
else
continue;
#else
QGHTcpClient * pSockTcp = qobject_cast<QGHTcpClient*>(sock);
if (pSockTcp)
uuid = pSockTcp->uuid();
else
continue;
#endif
if (uuid > m_maxUUID)
m_maxUUID = uuid;
if (uuid < m_minUUID)
m_minUUID = uuid;
}
foreach(QTcpSocket * sock,listObj)
{
if (rand()%1000<5)
......@@ -330,18 +343,18 @@ void QTcpClientTest::timerEvent(QTimerEvent * evt)
if (m_clients.size()>nTotalClients)
{
int nDel = m_clients.size()-nTotalClients;
QList<QTcpSocket*> listObj = m_clients.keys();
QList<quint32> listObj = m_clients.keys();
for (int i=0;i<nDel;i++)
{
listObj.at(i)->abort();
m_clients[listObj.at(i)]->abort();
}
}
#if (ZP_WANTSSL!=0)
if (ui.checkBox_SSL->isChecked()==true)
{
QGHSslClient * client = new QGHSslClient(this,ui.horizontalSlider->value());
//client->connectToHost(ui.lineEdit_ip->text(),ui.lineEdit_Port->text().toUShort());
m_clients[client] = QDateTime::currentDateTime();
client->geneGlobalUUID(ui.lineEdit_globalFile->text());
m_clients[client->uuid()] = client;
connect(client, SIGNAL(readyRead()),this, SLOT(new_data_recieved()));
//connect(client, SIGNAL(connected()),this, SLOT(on_client_connected()));
connect(client, SIGNAL(disconnected()),this,SLOT(on_client_disconnected()));
......@@ -356,7 +369,8 @@ void QTcpClientTest::timerEvent(QTimerEvent * evt)
else
{
QGHTcpClient * client = new QGHTcpClient(this,ui.horizontalSlider->value());
m_clients[client] = QDateTime::currentDateTime();
client->geneGlobalUUID(ui.lineEdit_globalFile->text());
m_clients[client->uuid()] = client;
connect(client, SIGNAL(readyRead()),this, SLOT(new_data_recieved()));
connect(client, SIGNAL(connected()),this, SLOT(on_client_connected()));
connect(client, SIGNAL(disconnected()),this,SLOT(on_client_disconnected()));
......@@ -366,7 +380,8 @@ void QTcpClientTest::timerEvent(QTimerEvent * evt)
}
#else
QGHTcpClient * client = new QGHTcpClient(this,ui.horizontalSlider->value());
m_clients[client] = QDateTime::currentDateTime();
client->geneGlobalUUID(ui.lineEdit_globalFile->text());
m_clients[client->uuid()] = client;
connect(client, SIGNAL(readyRead()),this, SLOT(new_data_recieved()));
connect(client, SIGNAL(connected()),this, SLOT(on_client_connected()));
connect(client, SIGNAL(disconnected()),this,SLOT(on_client_disconnected()));
......
......@@ -21,7 +21,7 @@ private:
quint32 m_minUUID;
quint32 getRadomUUIDDestin();
Ui::QTcpClientTestClass ui;
QMap<QTcpSocket *, QDateTime> m_clients;
QMap<quint32, QTcpSocket *> m_clients;
int nTimer;
QStandardItemModel model;
public slots:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册