Суть проблемы создал в клиентском приложении 3 сокета на разные порты, соединяюсь с сервером по этим портам. Далее передаю информацию по одному сокету, сервер мне посылает ответ и всё хорошо, но когда я посылаю данные со второго сокета, данные на сервер, то приходят и обратно отправляются, и даже в массив байтов записываются, но дальше этого не уходят, данные не выводятся даже в qDebug. Я уже 2 radyread завел и один чёрт не получается... Помогите пожалуйста с проблемой, может я не догоняю чего-то...
C++ (Qt)
void MainWindow::sockReady()
{
if (socket->waitForConnected(500) && controlsock->waitForConnected(500))
{
CData = controlsock->readAll();
ASCANData = socket->readAll();
if (ASCANData.count() != 0 || CData.count() != 0)
{
// ========================== получение АСКАН ==================
QDataStream ds(ASCANData); // open stream
QVector <int> acData(750); // initalize vector
// transformations QByteArray to int array
for (int i = 0; i < 750; i++)
{
ds.setByteOrder(QDataStream::LittleEndian);
ds >> acData[i];
}
// read int array
for (int i = 0; i < 750; i++)
{
int k = acData[i];
}
// output array to qDebug
qDebug() << acData;
// ========================== конец получения АСКАН ==================
// ===================== отрисовка графика =====================
QVector <double> x(750), y(750);
for (int i=0; i<750; i++)
{
x[i] = i;
y[i] = acData[i];
}
// создаем график и добавляем данные:
ui->widget->addGraph();
ui->widget->graph(0)->setData(x, y);
// задаем имена осей координат
ui->widget->xAxis->setLabel("Time");
ui->widget->yAxis->setLabel("Mod");
// задаем размеры осей
ui->widget->xAxis->setRange(0, 750);
ui->widget->yAxis->setRange(0, 750);
ui->widget->replot();
ASCANData.clear();
// ======================== конец отрисовки =====================
// ======================== END ASCAN ===========================
// ======================== Control socket ======================
qDebug() << CData;
QString connstat;
connstat.append(CData);
qDebug() << connstat;
CData.clear();
// ======================== Control socket END ==================
}
else
{
ui->textEdit->append("Error recevd");
}
}
else
{
ui->textEdit->append("Not connected");
}
}
это корявый раскорявый код принимающего слота