blob: b6fb1438d9ddd63004dd92b62b34df84bdd31e87 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#ifndef MESSAGELISTENER_H
#define MESSAGELISTENER_H
#include <QObject>
#include <QAbstractSocket>
#define DEFAULT_PORT 3112
class QTcpServer;
class QTcpSocket;
class QString;
class QHostAddress;
class MessageListener : public QObject
{
Q_OBJECT
public:
MessageListener(QObject *parent = 0);
~MessageListener();
QString remoteHost() const;
public slots:
bool startListener(quint16 port = DEFAULT_PORT);
void stopListener();
void closeConnection();
bool writeMessage(const QString &text);
void connectToHost(const QString &address, quint16 port = DEFAULT_PORT);
signals:
void receivedMessage(const QString text);
void connected();
void disconnected();
void connectionFailed();
private:
QTcpServer *listener;
QTcpSocket *connection;
inline void setupConnections();
private slots:
void receivedConnection();
void receivedData();
void handleError(QAbstractSocket::SocketError error);
};
#endif
|