From ea0800163c8c994f50211ce4f76d157f84ac73ef Mon Sep 17 00:00:00 2001 From: Kurt Pattyn Date: Mon, 12 Aug 2013 11:00:58 +0200 Subject: Renamed HelloWorldServer to EchoServer --- examples/echoserver/echoserver.cpp | 57 ++++++++++++++++++++++++++ examples/echoserver/echoserver.h | 30 ++++++++++++++ examples/echoserver/echoserver.pro | 16 ++++++++ examples/echoserver/main.cpp | 12 ++++++ examples/examples.pro | 2 +- examples/websocketserver/helloworldserver.cpp | 59 --------------------------- examples/websocketserver/helloworldserver.h | 30 -------------- examples/websocketserver/main.cpp | 12 ------ examples/websocketserver/websocketserver.pro | 23 ----------- 9 files changed, 116 insertions(+), 125 deletions(-) create mode 100644 examples/echoserver/echoserver.cpp create mode 100644 examples/echoserver/echoserver.h create mode 100644 examples/echoserver/echoserver.pro create mode 100644 examples/echoserver/main.cpp delete mode 100644 examples/websocketserver/helloworldserver.cpp delete mode 100644 examples/websocketserver/helloworldserver.h delete mode 100644 examples/websocketserver/main.cpp delete mode 100644 examples/websocketserver/websocketserver.pro diff --git a/examples/echoserver/echoserver.cpp b/examples/echoserver/echoserver.cpp new file mode 100644 index 0000000..4f5a80d --- /dev/null +++ b/examples/echoserver/echoserver.cpp @@ -0,0 +1,57 @@ +#include "echoserver.h" +#include "websocketserver.h" +#include "websocket.h" +#include + +EchoServer::EchoServer(quint16 port, QObject *parent) : + QObject(parent), + m_pWebSocketServer(0), + m_clients() +{ + m_pWebSocketServer = new WebSocketServer(this); + if (m_pWebSocketServer->listen(QHostAddress::Any, port)) + { + qDebug() << "Echoserver listening on port" << port; + connect(m_pWebSocketServer, SIGNAL(newConnection()), this, SLOT(onNewConnection())); + } +} + +void EchoServer::onNewConnection() +{ + WebSocket *pSocket = m_pWebSocketServer->nextPendingConnection(); + + connect(pSocket, SIGNAL(textMessageReceived(QString)), this, SLOT(processMessage(QString))); + connect(pSocket, SIGNAL(binaryMessageReceived(QByteArray)), this, SLOT(processBinaryMessage(QByteArray))); + connect(pSocket, SIGNAL(disconnected()), this, SLOT(socketDisconnected())); + //connect(pSocket, SIGNAL(pong(quint64)), this, SLOT(processPong(quint64))); + + m_clients << pSocket; +} + +void EchoServer::processMessage(QString message) +{ + WebSocket *pClient = qobject_cast(sender()); + if (pClient != 0) + { + pClient->send(message); + } +} + +void EchoServer::processBinaryMessage(QByteArray message) +{ + WebSocket *pClient = qobject_cast(sender()); + if (pClient != 0) + { + pClient->send(message); + } +} + +void EchoServer::socketDisconnected() +{ + WebSocket *pClient = qobject_cast(sender()); + if (pClient != 0) + { + m_clients.removeAll(pClient); + pClient->deleteLater(); + } +} diff --git a/examples/echoserver/echoserver.h b/examples/echoserver/echoserver.h new file mode 100644 index 0000000..21cf0de --- /dev/null +++ b/examples/echoserver/echoserver.h @@ -0,0 +1,30 @@ +#ifndef ECHOSERVER_H +#define ECHOSERVER_H + +#include +#include +#include + +class WebSocketServer; +class WebSocket; + +class EchoServer : public QObject +{ + Q_OBJECT +public: + explicit EchoServer(quint16 port, QObject *parent = 0); + +Q_SIGNALS: + +private Q_SLOTS: + void onNewConnection(); + void processMessage(QString message); + void processBinaryMessage(QByteArray message); + void socketDisconnected(); + +private: + WebSocketServer *m_pWebSocketServer; + QList m_clients; +}; + +#endif //ECHOSERVER_H diff --git a/examples/echoserver/echoserver.pro b/examples/echoserver/echoserver.pro new file mode 100644 index 0000000..2cb13e1 --- /dev/null +++ b/examples/echoserver/echoserver.pro @@ -0,0 +1,16 @@ +QT += core +QT -= gui + +TARGET = echoserver +CONFIG += console +CONFIG -= app_bundle + +TEMPLATE = app + +include(../../source/websocket.pri) + +SOURCES += main.cpp \ + echoserver.cpp + +HEADERS += \ + echoserver.h diff --git a/examples/echoserver/main.cpp b/examples/echoserver/main.cpp new file mode 100644 index 0000000..390cbb0 --- /dev/null +++ b/examples/echoserver/main.cpp @@ -0,0 +1,12 @@ +#include +#include "echoserver.h" + +int main(int argc, char *argv[]) +{ + QCoreApplication a(argc, argv); + EchoServer server(1234); + + Q_UNUSED(server); + + return a.exec(); +} diff --git a/examples/examples.pro b/examples/examples.pro index 9f9fe6e..a3bca2a 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -1,4 +1,4 @@ TEMPLATE = subdirs SUBDIRS = websocketclient \ - websocketserver + echoserver diff --git a/examples/websocketserver/helloworldserver.cpp b/examples/websocketserver/helloworldserver.cpp deleted file mode 100644 index efcd5b9..0000000 --- a/examples/websocketserver/helloworldserver.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "helloworldserver.h" -#include "websocketserver.h" -#include "websocket.h" -#include - -HelloWorldServer::HelloWorldServer(quint16 port, QObject *parent) : - QObject(parent), - m_pWebSocketServer(0), - m_clients() -{ - m_pWebSocketServer = new WebSocketServer(this); - if (m_pWebSocketServer->listen(QHostAddress::Any, port)) - { - qDebug() << "HelloWorld Server listening on port" << port; - connect(m_pWebSocketServer, SIGNAL(newConnection()), this, SLOT(onNewConnection())); - } -} - -void HelloWorldServer::onNewConnection() -{ - //qDebug() << "Client connected."; - WebSocket *pSocket = m_pWebSocketServer->nextPendingConnection(); - - connect(pSocket, SIGNAL(textMessageReceived(QString)), this, SLOT(processMessage(QString))); - connect(pSocket, SIGNAL(binaryMessageReceived(QByteArray)), this, SLOT(processBinaryMessage(QByteArray))); - connect(pSocket, SIGNAL(disconnected()), this, SLOT(socketDisconnected())); - //connect(pSocket, SIGNAL(pong(quint64)), this, SLOT(processPong(quint64))); - - m_clients << pSocket; -} - -void HelloWorldServer::processMessage(QString message) -{ - WebSocket *pClient = qobject_cast(sender()); - if (pClient != 0) - { - pClient->send(message); - } -} - -void HelloWorldServer::processBinaryMessage(QByteArray message) -{ - WebSocket *pClient = qobject_cast(sender()); - if (pClient != 0) - { - pClient->send(message); - } -} - -void HelloWorldServer::socketDisconnected() -{ - WebSocket *pClient = qobject_cast(sender()); - if (pClient != 0) - { - //qDebug() << "Client disconnected"; - m_clients.removeAll(pClient); - pClient->deleteLater(); - } -} diff --git a/examples/websocketserver/helloworldserver.h b/examples/websocketserver/helloworldserver.h deleted file mode 100644 index 156597d..0000000 --- a/examples/websocketserver/helloworldserver.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef HELLOWORLDSERVER_H -#define HELLOWORLDSERVER_H - -#include -#include -#include - -class WebSocketServer; -class WebSocket; - -class HelloWorldServer : public QObject -{ - Q_OBJECT -public: - explicit HelloWorldServer(quint16 port, QObject *parent = 0); - -Q_SIGNALS: - -private Q_SLOTS: - void onNewConnection(); - void processMessage(QString message); - void processBinaryMessage(QByteArray message); - void socketDisconnected(); - -private: - WebSocketServer *m_pWebSocketServer; - QList m_clients; -}; - -#endif // HELLOWORLDSERVER_H diff --git a/examples/websocketserver/main.cpp b/examples/websocketserver/main.cpp deleted file mode 100644 index d5060ae..0000000 --- a/examples/websocketserver/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include "helloworldserver.h" - -int main(int argc, char *argv[]) -{ - QCoreApplication a(argc, argv); - HelloWorldServer server(1234); - - Q_UNUSED(server); - - return a.exec(); -} diff --git a/examples/websocketserver/websocketserver.pro b/examples/websocketserver/websocketserver.pro deleted file mode 100644 index 599945c..0000000 --- a/examples/websocketserver/websocketserver.pro +++ /dev/null @@ -1,23 +0,0 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2013-08-03T19:54:35 -# -#------------------------------------------------- - -QT += core - -QT -= gui - -TARGET = websocketserver -CONFIG += console -CONFIG -= app_bundle - -TEMPLATE = app - -include(../../source/websocket.pri) - -SOURCES += main.cpp \ - helloworldserver.cpp - -HEADERS += \ - helloworldserver.h -- cgit v1.2.1