#include <QtCore/QCoreApplication>
#include "server.h"
int main(int argc, char *argv[])
{
Server myServer;
return a.exec();
}
#include <QtCore/QCoreApplication>
#include "server.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Server myServer;
return a.exec();
}
To copy to clipboard, switch view to plain text mode
#ifndef SERVER_H
#define SERVER_H
#include <QTcpServer>
#include <QSslSocket>
#include <QSslKey>
#include <QDebug>
#include <QAbstractSocket>
{
Q_OBJECT
public:
explicit Server
(QObject *parent
= 0);
signals:
public slots:
private slots:
void sltEncrypted();
void sltReadFromClient();
void sltSslErrors(QList<QSslError> errList);
void sltSslModeChanged(QSslSocket::SslMode);
protected:
void incomingConnection(int socketDescriptor);
};
#endif // SERVER_H
#ifndef SERVER_H
#define SERVER_H
#include <QTcpServer>
#include <QSslSocket>
#include <QSslKey>
#include <QDebug>
#include <QAbstractSocket>
class Server : public QTcpServer
{
Q_OBJECT
public:
explicit Server(QObject *parent = 0);
signals:
public slots:
private slots:
void sltEncrypted();
void sltReadFromClient();
void sltSslErrors(QList<QSslError> errList);
void sltSslModeChanged(QSslSocket::SslMode);
void sltStateChanged(QAbstractSocket::SocketState);
void sltSocketError(QAbstractSocket::SocketError);
protected:
void incomingConnection(int socketDescriptor);
};
#endif // SERVER_H
To copy to clipboard, switch view to plain text mode
#include "server.h"
{
if(this->isListening())
{
qDebug()<<"Is listening to port 3555";
}else{
qDebug()<<"Listen nemikone";
}
qDebug()<<"___________________________________________________";
qDebug()<<"___________________________________________________";
}
//************************************************************************************************
void Server::incomingConnection(int socketDescriptor)
{
QSslSocket *mySslSocket = new QSslSocket(this);
if(mySslSocket->setSocketDescriptor(socketDescriptor))
{
connect(mySslSocket,SIGNAL(encrypted()),this,SLOT(sltEncrypted()));
connect(mySslSocket,SIGNAL(readyRead()),this,SLOT(sltReadFromClient()));
connect(mySslSocket, SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(sltSslErrors(QList<QSslError>)));
connect( mySslSocket, SIGNAL(modeChanged(QSslSocket::SslMode)),
this,SLOT(sltSslModeChanged(QSslSocket::SslMode)));
}else{
delete mySslSocket;
}
mySslSocket->setLocalCertificate("D://server.pem",QSsl::Pem);
mySslSocket->setPrivateKey("D://server.pem",QSsl::Rsa,QSsl::Pem);
if(mySslSocket->localCertificate().isNull())
{
qDebug()<<"localCertificate is null";
}else{
qDebug()<<"localCertificate is Ok";
}
if(mySslSocket->privateKey().isNull())
{
qDebug()<<"PrivateKey is null";
}
else{
qDebug()<<"PrivateKey is Ok";
}
mySslSocket->startServerEncryption();
}
//***************************************************************************************************
void Server::sltEncrypted()
{
qDebug()<<"........................encrypted.........................";
//some code
}
//***************************************************************************************************
void Server::sltReadFromClient()
{
qDebug()<<"read from client";
// some code
}
//***************************************************************************************************
void Server::sltSslErrors(QList<QSslError> errList)
{
qDebug() << "MySslServer::sslErrors(";
foreach( QSslError err, errList )
qDebug() << " " << err.errorString();
qDebug() << ")";
}
//***************************************************************************************************
void Server::sltSslModeChanged(QSslSocket::SslMode mode)
{
qDebug() << "MySslServer::sslModeChanged(" << (int)mode << ")";
}
//****************************************************************************************************
{
qDebug() << "MySslServer::SocketErrors(" <<(int)socketErr << ")";
}
//****************************************************************************************************
{
qDebug() << "MySslServer::stateChanged(" << (int)state << ")";
}
#include "server.h"
Server::Server(QObject *parent) :
QTcpServer(parent)
{
this->listen(QHostAddress::Any,3555);
if(this->isListening())
{
qDebug()<<"Is listening to port 3555";
}else{
qDebug()<<"Listen nemikone";
}
qDebug()<<"___________________________________________________";
qDebug()<<"___________________________________________________";
}
//************************************************************************************************
void Server::incomingConnection(int socketDescriptor)
{
QSslSocket *mySslSocket = new QSslSocket(this);
if(mySslSocket->setSocketDescriptor(socketDescriptor))
{
connect(mySslSocket,SIGNAL(encrypted()),this,SLOT(sltEncrypted()));
connect(mySslSocket,SIGNAL(readyRead()),this,SLOT(sltReadFromClient()));
connect(mySslSocket, SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(sltSslErrors(QList<QSslError>)));
connect( mySslSocket, SIGNAL(modeChanged(QSslSocket::SslMode)),
this,SLOT(sltSslModeChanged(QSslSocket::SslMode)));
connect( mySslSocket, SIGNAL(stateChanged(QAbstractSocket::SocketState)),
this, SLOT(sltStateChanged(QAbstractSocket::SocketState)));
connect(mySslSocket,SIGNAL(error(QAbstractSocket::SocketError)),
this,SLOT(sltSocketError(QAbstractSocket::SocketError)));
}else{
delete mySslSocket;
}
mySslSocket->setLocalCertificate("D://server.pem",QSsl::Pem);
mySslSocket->setPrivateKey("D://server.pem",QSsl::Rsa,QSsl::Pem);
if(mySslSocket->localCertificate().isNull())
{
qDebug()<<"localCertificate is null";
}else{
qDebug()<<"localCertificate is Ok";
}
if(mySslSocket->privateKey().isNull())
{
qDebug()<<"PrivateKey is null";
}
else{
qDebug()<<"PrivateKey is Ok";
}
mySslSocket->startServerEncryption();
}
//***************************************************************************************************
void Server::sltEncrypted()
{
qDebug()<<"........................encrypted.........................";
//some code
}
//***************************************************************************************************
void Server::sltReadFromClient()
{
qDebug()<<"read from client";
// some code
}
//***************************************************************************************************
void Server::sltSslErrors(QList<QSslError> errList)
{
qDebug() << "MySslServer::sslErrors(";
foreach( QSslError err, errList )
qDebug() << " " << err.errorString();
qDebug() << ")";
}
//***************************************************************************************************
void Server::sltSslModeChanged(QSslSocket::SslMode mode)
{
qDebug() << "MySslServer::sslModeChanged(" << (int)mode << ")";
}
//****************************************************************************************************
void Server::sltSocketError(QAbstractSocket::SocketError socketErr)
{
qDebug() << "MySslServer::SocketErrors(" <<(int)socketErr << ")";
}
//****************************************************************************************************
void Server::sltStateChanged(QAbstractSocket::SocketState state)
{
qDebug() << "MySslServer::stateChanged(" << (int)state << ")";
}
To copy to clipboard, switch view to plain text mode
Bookmarks