#include "clienttest.h"
#include "ui_clienttest.h"
#include <QDebug>
Clienttest::Clienttest(QWidget *parent) :
QWidget(parent),
ui(new Ui::Clienttest)
{
ui->setupUi(this);
ret = 0 ;
clienttest = new QTcpSocket(this);
connect(ui->sendmsgbtn,SIGNAL(clicked()),this,SLOT(sendmsg()));
connect(clienttest,SIGNAL(readyRead()),this,SLOT(readmessage()));
connect(clienttest,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(displayerror()));
connect(ui->connectbtn,SIGNAL(clicked()),this,SLOT(newconnect()));
}
Clienttest::~Clienttest()
{
delete ui;
}
void Clienttest::displayerror()
{
qDebug()<< clienttest->errorString();
}
void Clienttest::readmessage()
{
// QDataStream in (clienttest);
// if (blocksize == 0)
// {
// if(clienttest->bytesAvailable()<(int)sizeof(quint16))
// in >> blocksize;
// }
// if (blocksize>clienttest->bytesAvailable())
// in >> msg;
// qDebug()<< msg ;
// ui->textEdit->setText(msg);
while (clienttest->bytesAvailable()>0)
{
QByteArray datagram ;
datagram.resize(clienttest->bytesAvailable());
clienttest->read(datagram.data(),datagram.size());
msg=datagram.data();
ui->listwidget->addItem(msg);
}
}
void Clienttest::sendmsg()
{
if (ui->sendlineedit->text()=="")
{
return ;
}
msg = ui->sendlineedit->text();
clienttest->write(msg.toLatin1(),msg.length());
ui->sendlineedit->clear();
ui->listwidget->addItem(msg);
}
void Clienttest::newconnect()
{
blocksize = 0 ;
clienttest->abort();
QString adress = ui->addresslineedit->text();
clienttest->connectToHost(adress,ui->portlineedit->text().toInt());
}