blob: 13c93a1cf9db6f868e9daac3bed81ca3b989c189 (
plain)
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
|
#include "mainwnd.h"
MainWnd::MainWnd()
{
pSrv = new QTcpServer( this );
connect( pSrv, SIGNAL(newConnection()), this, SLOT(newConnection()));
pSrv->listen( QHostAddress::Any, 7317 );
}
MainWnd::~MainWnd()
{
}
void MainWnd::newConnection()
{
while( pSrv->hasPendingConnections() )
{
QTcpSocket *pSock = pSrv->nextPendingConnection();
Gats::GatsStream *pGats = new Gats::GatsStream( *pSock );
connect( pSock, SIGNAL(readyRead()), pGats, SLOT(readObject()) );
connect( pGats, SIGNAL(objectRead( Gats::Object * )),
this, SLOT(objectRead( Gats::Object * )));
}
}
void MainWnd::objectRead( Gats::Object *pObj )
{
((Gats::GatsStream *)sender())->writeObject( pObj );
Gats::Object *pCopy = pObj->clone();
delete pObj;
((Gats::GatsStream *)sender())->writeObject( pCopy );
delete pCopy;
}
|