June 12, 2019, 7:44 a.m.

QTcpSocket не могу добиться отправки строки

QTcpSocket

Доброе время суток, начал пробывать работать с QTcpSocket и не как не могу добится отправки на сервер и с сервера строк. Посмотри те где я косяк


// Так стортует сервер 
void UICore::on_StartServ_clicked()
{
    tcpServer = new QTcpServer(this);
    connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newuser()));
    if (!tcpServer->listen(QHostAddress::Any, ui->lE_Port->text().toInt()) && server_status==0) {
        qDebug() <<  QObject::tr("Unable to start the server: %1.").arg(tcpServer->errorString());
        ui->textBrowser->append(tcpServer->errorString());
    } else {
        server_status=1;
        qDebug() << tcpServer->isListening() << "TCPSocket listen on port";
        ui->textBrowser->append(QString::fromUtf8("Сервер запущен!"));
        ui->textBrowser->append(QString::fromUtf8("Порт " + ui->lE_Port->text().toUtf8()));
        qDebug() << QString::fromUtf8("Сервер запущен!");
    }
    ui->tabWidget->setCurrentIndex(0);
    ui->StartServ->setEnabled(false);
    ui->Settings->setEnabled(false);
}

// так работает слот реадирид

QTcpSocket* clientSocket = (QTcpSocket*)sender();
        int idusersocs=clientSocket->socketDescriptor();
        QTextStream os(clientSocket);
        os.setAutoDetectUnicode(true);
        QString tmp =  "HTTP/1.0 200 Ok\r\nContent-Type: text/html; charset=\"utf-8\"\r\n\r\n<h1>Test web Server</h1>\n";
        ui->textBrowser->append("ReadClient:"+clientSocket->readAll()+"\n\r");

        sendToClientStr(clientSocket,tmp);
        qDebug () << "test";
        break;



Как бы если на этом этапе подключится с браузера то все ок. Но вот если попробывать вот так то беда

// конектимся к серверу и передаем сообщение 
// 
void UICore::on_cB_connect_clicked()
{
    _socket->connectToHost(ui->lE_server->text().toUtf8(), ui->lE_port->text().toShort());
    if(_socket->error()) {
        ui->tB_logs->append("Connectid by " + ui->lE_server->text().toUtf8() + " port " + ui->lE_port->text().toUtf8() );
    }else{
        QMessageBox *msg =  new QMessageBox;
        msg->setText(_socket->errorString());
        msg->show();
    }
    QString tmp = "test";
    sendToServerStr(tmp.toUtf8());
}

bool UICore::sendToServerStr(QString str)
{
    QByteArray block;
    QDataStream sendStream (&block,QIODevice::ReadWrite);
    sendStream.setVersion(QDataStream::Qt_5_9);

    sendStream << quint16(0) << str;
    sendStream.device()->seek(0);
    sendStream << (quint16)(block.size() - sizeof(quint16));
    _socket->write(block);
    _socket->flush();
    return true;
}
Virtual hosting with 10 percent discount
Virtual hosting with 10 percent discount
EVILEG offers reliable hosting with a 10% discount for virtual hosting and 5% for VPS
2

а где слот newuser() и его обвязка?

0

Там все работает. Я уже поборол эту проблемму. Теперь пытаюсь сделать непрырывное вещяния и прием. Порциями все ровно а вот в реалтайме беда

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
TT
June 13, 2019, 7:01 p.m.
Taimoor Tanweer

C++ - Test 001. The first program and data types

  • Result:66points,
  • Rating points-1
TT
June 13, 2019, 6:51 p.m.
Taimoor Tanweer

C++ - Test 002. Constants

  • Result:75points,
  • Rating points2
ВМ
June 13, 2019, 12:30 p.m.
Ваня Мороз

C++ - Test 001. The first program and data types

  • Result:100points,
  • Rating points10
Last comments
i
June 17, 2019, 6:10 a.m.
ingenfly

Только по осям xAxis2, уAxis2 значения начинаются с 0. Почему-то xAxis2 и xAxis не синхронизированы по данным. Ну и QCustomPlot последний.
June 16, 2019, 8:21 p.m.
Евгений Легоцкой

Добрый день. Ну точно также добавляете ту же самую информацию на ось xAxis2, только добавляете другое форматирование customPlot->xAxis2->setDateTimeFormat("hh:mm"); если я ...
EF
June 14, 2019, 1:56 p.m.
Egor Fomin

Спасибо за ваш ответ, у меня получилось реализовать это. Тем не менее появилась другая проблема, поэтому опять надеюсь на вашу помощь. Скажем, я уже выставил точки и они соеденены. Когда я нач...
d
June 13, 2019, 2:47 p.m.
damix

Можно классу, который описывает точку, добавить сигнал, который подавать (emit), когда точка перемещается (переопределить mouseMoveEvent или mouseReleaseEvent). Так вот эти сигналы у каждой из...
i
June 13, 2019, 2:09 p.m.
ingenfly

Здравствайте! Подскажите, пожалуйста: customPlot->xAxis2->setTickLabels(true); //Здесь включается отображение данных на оси xAxis2. а можно как-то продублировать информацию cus...
Now discuss on the forum
I
June 19, 2019, 1:41 p.m.
Intruder

Всем добрый день. При разборе XML файла наткнулся на тег вот такого плана: <TagName attribute1="value1" attribute2="value2" /> При попытке проверить на наличие такого элеме...
June 19, 2019, 12:55 p.m.
Михаиллл

Скажите пожалуйста, как его в таком случае перемещать и удалять?
June 18, 2019, 7:50 p.m.
Дмитрий

Большое спасибо! SDK заработал.К сожалению удалось продвинутся только на один шаг. При сборке чистого проекта NDK выдаёт следующие ошибки C:\Android\ndk-bundle/toolchains/arm-linux-andr...
June 18, 2019, 4:59 p.m.
Михаиллл

Добрый день.В этом учебнике представлен код INSTALLED_APPS = ( ... 'rest_framework', 'snippets.apps.SnippetsConfig',) На строчке 'snippets.apps.SnippetsConf...
June 18, 2019, 2:24 p.m.
Михаиллл

Спасибо, работает.Послушаю вашего совета.
Looking for a Job?
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB