Size: a a a

2020 December 01

S

Sergey eSKon in Qt
#include "qsslserver.h"

extern QString CIPHER_LIST;

QSslServer::QSslServer(QObject *parent)
   : QTcpServer(parent)
{

}

QSslServer::~QSslServer()
{

}

void QSslServer::incomingConnection(qintptr socketDescriptor)
{
   QSslSocket *socket = new QSslSocket();
   QSslConfiguration config = socket->sslConfiguration();
   if(!CIPHER_LIST.isEmpty())
   {
       QList<QSslCipher> tmpl;
       const auto cipherNames = CIPHER_LIST.split(QLatin1Char(':'), QString::SkipEmptyParts);
       for (const QString &cipherName : cipherNames)
       {
           QSslCipher cipher(cipherName);
           if (!cipher.isNull())
               tmpl << cipher;
       }
       config.setCiphers(tmpl);
   }
   //if(!CIPHER_LIST.isEmpty())
   //    socket->setCiphers(CIPHER_LIST);
   socket->setSslConfiguration(config);
   socket->setSocketDescriptor(socketDescriptor);
   emit newPeerConnected(socket);
}
источник

з

зима in Qt
Renat Garaev
Ну значит это задача администрирования: прикрутить nginx или haproxy или apache на точку входа вашего трафика :443 порт сервера. Задача это не чата qt
зачем... qwebsocketserver///
источник

S

Sergey eSKon in Qt
вот такая простая реализация - взято из моего одного давнего проекта
источник

S

Sergey eSKon in Qt
ну там конечно с шифрами код можно убрать
источник

з

зима in Qt
пасиба!
источник

S

Sergey eSKon in Qt
#ifndef QSSLSERVER_H
#define QSSLSERVER_H

#include <QtNetwork>
#include <QTcpServer>

class QSslServer : public QTcpServer
{
   Q_OBJECT

public:
   QSslServer(QObject *parent=0);
   ~QSslServer();
protected:
   virtual void incomingConnection(qintptr socketDescriptor);
private:
signals:
   void newPeerConnected(QSslSocket * sock);
};

#endif // QSSLSERVER_H
источник

з

зима in Qt
запустил старый рабочий проект, а оно не работает
источник

МК

Мгер Карапетян... in Qt
QList<std::unique_ptr<QJsonTreeItem>> mChilds; — поле класса. Код рабочий? Как исправить код, что бы предупреждение не выскакивало?
источник

VS

Vasiliy Sorokin in Qt
Мгер Карапетян
QList<std::unique_ptr<QJsonTreeItem>> mChilds; — поле класса. Код рабочий? Как исправить код, что бы предупреждение не выскакивало?
ну так ты возвращаешь указатель на объект которым управляет юник в твоем листе
источник

VS

Vasiliy Sorokin in Qt
то есть ты получил указатель потом ктото где-то вызвал mChinlds.removeAt(0);
например и бах твой указатель превратился в тыкву
источник

VS

Vasiliy Sorokin in Qt
Сохраняй shared_ptr например
источник

VS

Vasiliy Sorokin in Qt
в листе
источник

МК

Мгер Карапетян... in Qt
окей( придется прототипы менять
источник

МК

Мгер Карапетян... in Qt
спасиб
источник

GS

Georgy Shepelev in Qt
ШаредПтр решает любые проблемы)
источник

B

Boryan in Qt
Boryan
таки решил сделать модель, перелопатив класс
подскажите, пожалуйста, какая реализация лучше,
https://pastebin.com/raw/ikjQBF2i чего стоит избегать, или может кто поделится, как делает сам
Какой же я тупой, пиздец, посоны. Затея оказалась неудачной, потому что значения сохраняются сразу, налету(после выхода с айтема, а не после подтверждения, выхода из диалога......
И главное, все молчат, тц
Слава богу, что это не группа помощи суицидникам
источник

SE

Suigintou45 E14 in Qt
Мгер Карапетян
QList<std::unique_ptr<QJsonTreeItem>> mChilds; — поле класса. Код рабочий? Как исправить код, что бы предупреждение не выскакивало?
А почему не QSharedPointer?
источник

МК

Мгер Карапетян... in Qt
Suigintou45 E14
А почему не QSharedPointer?
хотел вначале использовать qt указатель, но увидел какой большой выбор умных указателей, и решил работать с чем знаком
источник

С

Серж in Qt
Vasiliy Sorokin
ну так ты возвращаешь указатель на объект которым управляет юник в твоем листе
value(int) создаёт временный юник на стеке, который принимает во владение память из соответствующего юника в листе. Возвращается указатель на память в юнике на стеке. При выходе из функции вызывается деструктор юника на стеке, указатель возвращённый из функции использовать нельзя, память по нему освобождена. Дальше уб, практически зависит от того что в это время творится с кучей, счастливого дебага!
источник

VS

Vasiliy Sorokin in Qt
Серж
value(int) создаёт временный юник на стеке, который принимает во владение память из соответствующего юника в листе. Возвращается указатель на память в юнике на стеке. При выходе из функции вызывается деструктор юника на стеке, указатель возвращённый из функции использовать нельзя, память по нему освобождена. Дальше уб, практически зависит от того что в это время творится с кучей, счастливого дебага!
Точняк
источник