// #include "gpstcpserver.h"
#ifndef GPSTCPSERVER_H
#define GPSTCPSERVER_H
#include <QtCore/QObject>
#include <QtNetwork/QTcpServer>
#include <QtNetwork/QTcpSocket>
#include "gpstcpsocket.h"
{
public:
explicit GpsTcpServer
(QObject * parent
= 0);
virtual void incomingConnection ( int socketDescriptor );
int _count;
};
#endif
// #include "gpstcpserver.h"
#ifndef GPSTCPSERVER_H
#define GPSTCPSERVER_H
#include <QtCore/QObject>
#include <QtNetwork/QTcpServer>
#include <QtNetwork/QTcpSocket>
#include "gpstcpsocket.h"
class GpsTcpServer : public QTcpServer
{
public:
explicit GpsTcpServer(QObject * parent = 0);
virtual void incomingConnection ( int socketDescriptor );
int _count;
};
#endif
To copy to clipboard, switch view to plain text mode
// gpstcpserver.cpp
#include "gpstcpserver.h"
GpsTcpServer
::GpsTcpServer(QObject *parent
){
}
void GpsTcpServer::incomingConnection(int socketDescriptor)
{
GpsTcpSocket * socket = new GpsTcpSocket(++_count, this);
if (!socket->setSocketDescriptor(socketDescriptor)){
delete socket;
}
}
// gpstcpserver.cpp
#include "gpstcpserver.h"
GpsTcpServer::GpsTcpServer(QObject *parent)
: QTcpServer(parent), _count(0)
{
}
void GpsTcpServer::incomingConnection(int socketDescriptor)
{
GpsTcpSocket * socket = new GpsTcpSocket(++_count, this);
if (!socket->setSocketDescriptor(socketDescriptor)){
delete socket;
}
}
To copy to clipboard, switch view to plain text mode
// gpstcpsocket.h
#ifndef GPSTCPSOCKET_H
#define GPSTCPSOCKET_H
#include <QtCore/QObject>
#include <QtNetwork/QAbstractSocket>
#include <QtNetwork/QTcpSocket>
{
Q_OBJECT
public:
GpsTcpSocket
(long id,
QObject *parent
= 0);
private:
long _id;
signals:
public slots:
void gpsReadReady();
void gpsConnected();
void gpsDisconnected();
};
#endif // GPSTCPSOCKET_H
// gpstcpsocket.h
#ifndef GPSTCPSOCKET_H
#define GPSTCPSOCKET_H
#include <QtCore/QObject>
#include <QtNetwork/QAbstractSocket>
#include <QtNetwork/QTcpSocket>
class GpsTcpSocket : public QTcpSocket
{
Q_OBJECT
public:
GpsTcpSocket(long id, QObject *parent = 0);
private:
long _id;
signals:
public slots:
void gpsReadReady();
void gpsConnected();
void gpsDisconnected();
void gpsError( QAbstractSocket::SocketError socketError );
};
#endif // GPSTCPSOCKET_H
To copy to clipboard, switch view to plain text mode
// gpstcpsocket.cpp
#include "gpstcpsocket.h"
#include <QtCore/QFile>
GpsTcpSocket
::GpsTcpSocket(long id,
QObject *parent
) :{
connect(this, SIGNAL(readyRead()), this, SLOT(gpsReadReady()));
connect(this, SIGNAL(connected()), this, SLOT(gpsConnected()));
connect(this, SIGNAL(disconnected()), this, SLOT(gpsDisconnected()));
}
void GpsTcpSocket::gpsReadReady()
{
int availableBytes = bytesAvailable();
char * data = new char[availableBytes];
read(data, availableBytes);
/*QFile file("c:/data.txt");
file.open(QFile::Append);
file.write(data, availableBytes);
file.close();*/
delete [] data;
}
void GpsTcpSocket::gpsConnected()
{
}
void GpsTcpSocket::gpsDisconnected()
{
}
{
Q_UNUSED(socketError);
}
// gpstcpsocket.cpp
#include "gpstcpsocket.h"
#include <QtCore/QFile>
GpsTcpSocket::GpsTcpSocket(long id, QObject *parent) :
QTcpSocket(parent), _id(id)
{
connect(this, SIGNAL(readyRead()), this, SLOT(gpsReadReady()));
connect(this, SIGNAL(connected()), this, SLOT(gpsConnected()));
connect(this, SIGNAL(disconnected()), this, SLOT(gpsDisconnected()));
connect(this, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(gpsError(QAbstractSocket::SocketError)));
}
void GpsTcpSocket::gpsReadReady()
{
int availableBytes = bytesAvailable();
char * data = new char[availableBytes];
read(data, availableBytes);
/*QFile file("c:/data.txt");
file.open(QFile::Append);
file.write(data, availableBytes);
file.close();*/
delete [] data;
}
void GpsTcpSocket::gpsConnected()
{
}
void GpsTcpSocket::gpsDisconnected()
{
}
void GpsTcpSocket::gpsError(QAbstractSocket::SocketError socketError)
{
Q_UNUSED(socketError);
}
To copy to clipboard, switch view to plain text mode
// main.cpp
#include <QtCore/QCoreApplication>
#include <QtNetwork/QHostAddress>
#include "gpstcpserver.h"
int main(int argc, char *argv[])
{
GpsTcpServer server;
return a.exec();
}
// main.cpp
#include <QtCore/QCoreApplication>
#include <QtNetwork/QHostAddress>
#include "gpstcpserver.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
GpsTcpServer server;
server.listen(QHostAddress::Any, 1000);
return a.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks