Я написал простой Http-сервер (только для получения и анализа запросов).Но, похоже, он не работает должным образом: иногда я получаю сообщение об ошибке «Нарушение прав доступа (c0000005)»
UPD: я следовал советам и изменил источник:
Server::Server()
{
tcpServer = new QTcpServer();
if (!tcpServer->listen(QHostAddress::Any, 1111)) {
return;
}
QObject::connect(tcpServer, &QTcpServer::newConnection, [=]() {
QTcpSocket *clientSocket = tcpServer->nextPendingConnection();
QObject::connect(clientSocket, &QTcpSocket::disconnected, clientSocket, &QTcpSocket::deleteLater);
QObject::connect(clientSocket, &QTcpSocket::readyRead, [this, clientSocket]() {
const QString line = QUrl::fromPercentEncoding(clientSocket->readLine());
clientSocket->disconnectFromHost();
const QStringList tokens = QString(line).split(QRegExp("[ \r\n][ \r\n]*"));
if (parseParams(tokens)) {
emit Server::newRequest(params);
}
});
});
}
Будет ли этокод никогда не выдает ошибку «Нарушение прав доступа (c0000005)»?