Я изучаю Qt и у меня возникают проблемы с отправкой некоторых данных в QLocalServer перед закрытием клиентского приложения.В примере я пытался отправить "пока" дважды.Но на стороне сервера я получил это только один раз.Независимо от того, сколько раз клиент отправит, если перед закрытием сервер получит только первое сообщение.Если я использую QCloseEvent, то результат такой же.Может я что-то не так делаю?Спасибо за любую помощь!
Упрощенный пример Сервер
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
server = new QLocalServer(this);
server->listen("Server1");
connect(server, SIGNAL(newConnection()), this, SLOT(processNewConnection()));
}
void MainWindow::processNewConnection()
{
clientConnection = new QLocalSocket(this);
clientConnection = server->nextPendingConnection();
connect(clientConnection,SIGNAL(readyRead()), this, SLOT(proceessData()));
}
void MainWindow::proceessData()
{
QLocalSocket* clientSocket = (QLocalSocket*)sender();
QByteArray recievedData;
recievedData = clientSocket -> readAll();
}
Вот пример Клиент
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
localSocket = new QLocalSocket(this);
localSocket -> connectToServer("Server1");
QByteArray hey("Hey");
localSocket->write(hey);
}
MainWindow::~MainWindow()
{
QByteArray bye("bye");
localSocket->write(bye);
localSocket->write(bye);
delete ui;
}