Разрыв соединения при повторном соединении. |
Здравствуйте, гость ( Вход | Регистрация )
Разрыв соединения при повторном соединении. |
Pechkin |
30.1.2014, 15:12
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.1.2014 Пользователь №: 4044 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день.
Клиент (объект класса QTcpSocket) при первичном соединении соединяется и держит соединение, а после разрыва соединения и повторном соединении происходит разрыв сразу после соединения. Не подскажите в чём может быть дело ? // конструктор главного окна который инициализирует объект: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { firstsocket = NULL; ui->setupUi(this); ui->statusBar->show(); tcpSocket = new QTcpSocket(this); ui->textEdit->append(tr("Программа запущена")); connect(tcpSocket, SIGNAL(connected()), this, SLOT(connectedtoserver())); connect(tcpSocket, SIGNAL(disconnected()), this, SLOT(connectionClosed())); connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(updateDateset())); connect(tcpSocket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(error())); connect(ui->radioButton , SIGNAL(toggled(bool)), this, SLOT(mtoggled(bool))); mtoggled(ClientState); } // Обработчик события об успешном соединении с сервером настроек void MainWindow::connectedtoserver() { ui->statusBar->showMessage(tr("Connection is esteblished")); ui->ConnectButton->setText("DisConnect"); disconnect(ui->ConnectButton,SIGNAL(clicked())); connect(ui->ConnectButton, SIGNAL(clicked()), this, SLOT(closeConnection())); ui->EnableButton->setEnabled(true); ui->textEdit->append(tr("Установлено новое соединение")); } // Обработчик события о разсоединении с сервером настроек void MainWindow::connectionClosed() { ui->statusBar->showMessage(tr("Connection is not esteblished")); ui->textEdit->append(tr("Разорвано соединение")); mtoggled(ClientState); } // Обработчик события от кнопки делает разрыв соединения void MainWindow::closeConnection() { tcpSocket->disconnectFromHost(); } //Процедура осуществляет соединение с сервером настроек void MainWindow::connectToServer() { ui->RadiogroupBox->setDisabled(true); #if 1 tcpSocket->connectToHost(QHostAddress::LocalHost, 6178); #else tcpSocket->connectToHost("tripserver.zugbahn.de", 6178); #endif ui->statusBar->showMessage(tr("Connecting to server...")); } // Посылка запроса на сервер void MainWindow::sendRequest() { QDataStream out(tcpSocket); out << qint16(0x55AA); } // Обработчик ошибок соединения void MainWindow::error() { closeConnection(); } Забыл: Qt Creator 2.4.1 Основан на Qt 4.7.4 (32-х битной) ОС: Винда |
|
|
Pechkin |
30.1.2014, 15:57
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.1.2014 Пользователь №: 4044 Спасибо сказали: 0 раз(а) Репутация: 0 |
ВСЁ!!!
РАЗОБРАЛСЯ САМ. |
|
|
Текстовая версия | Сейчас: 24.4.2024, 4:40 |