Я пытаюсь создать клиент, который должен подключаться к серверу C. Я должен использовать TCP. У меня уже есть сервер, который полностью функционален, но я не могу подключить свой клиент. Я не хочу отправлять какие-либо данные на сервер (на данный момент). Я просто хочу установить соединение и открыть новое диалоговое окно.
Вот код в слоте Void Login::on_pushButton_clicked(). // pushButon — моя кнопка входа
pSocket = new QTcpSocket (this);
connect (pSocket, SIGNAL(readyRead()), SLOT(waitNextStep()));
pSocket->connectToHost(ui->lineEdit->text(), ui->lineEdit_2->text().toInt());
if(pSocket->waitForConnected())
{
Menu mMenu;
mMenu.setModal(true);
mMenu.exec();
}
else
{
QMessageBox::critical(this,tr("Error"),tr("Error at Connect"));
}
Я уже определил класс Menu и знаю, что он функционален, так как тестировал его без соединения. Часть получения IP-адреса из lineEdits также работает. pSocket объявлен в классе Login как частный член (QTcpSocket *pSocket;).
К сожалению, я новичок в QT, и я действительно не знаю, что должна содержать функция 'waitNextStep()'. Я только что сделал return 1; Я не уверен насчет SLOT в функции подключения, так как во многих примерах я заметил, что там были разные функции.
Если я запускаю программу, я не получаю никаких ошибок, и программа выполняется просто отлично. Но когда я нажимаю кнопку входа в систему, диалоговое окно зависает примерно на 15 секунд - оно не отвечает. После этого я получаю сообщение «Ошибка при подключении». Любая помощь будет высоко ценится.