TCP src code cleanup

This commit is contained in:
f4exb 2015-11-19 03:26:46 +01:00
parent 0492c50e55
commit f981773f81
3 changed files with 24 additions and 3 deletions

View File

@ -162,6 +162,7 @@ void TCPSrc::start()
{ {
m_tcpServer = new QTcpServer(); m_tcpServer = new QTcpServer();
connect(m_tcpServer, SIGNAL(newConnection()), this, SLOT(onNewConnection())); connect(m_tcpServer, SIGNAL(newConnection()), this, SLOT(onNewConnection()));
connect(m_tcpServer, SIGNAL(acceptError(QAbstractSocket::SocketError)), this, SLOT(onTcpServerError(QAbstractSocket::SocketError)));
m_tcpServer->listen(QHostAddress::Any, m_tcpPort); m_tcpServer->listen(QHostAddress::Any, m_tcpPort);
} }
@ -276,15 +277,20 @@ void TCPSrc::closeAllSockets(Sockets* sockets)
void TCPSrc::onNewConnection() void TCPSrc::onNewConnection()
{ {
qDebug("TCPSrc::onNewConnection");
while(m_tcpServer->hasPendingConnections()) while(m_tcpServer->hasPendingConnections())
{ {
qDebug("TCPSrc::onNewConnection: has a pending connection");
QTcpSocket* connection = m_tcpServer->nextPendingConnection(); QTcpSocket* connection = m_tcpServer->nextPendingConnection();
connection->setSocketOption(QAbstractSocket:: KeepAliveOption, 1);
connect(connection, SIGNAL(disconnected()), this, SLOT(onDisconnected())); connect(connection, SIGNAL(disconnected()), this, SLOT(onDisconnected()));
switch(m_sampleFormat) { switch(m_sampleFormat) {
case FormatNFM: case FormatNFM:
case FormatSSB: { case FormatSSB:
{
quint32 id = (FormatSSB << 24) | m_nextSSBId; quint32 id = (FormatSSB << 24) | m_nextSSBId;
MsgTCPSrcConnection* msg = MsgTCPSrcConnection::create(true, id, connection->peerAddress(), connection->peerPort()); MsgTCPSrcConnection* msg = MsgTCPSrcConnection::create(true, id, connection->peerAddress(), connection->peerPort());
m_nextSSBId = (m_nextSSBId + 1) & 0xffffff; m_nextSSBId = (m_nextSSBId + 1) & 0xffffff;
@ -293,7 +299,9 @@ void TCPSrc::onNewConnection()
break; break;
} }
case FormatS16LE: { case FormatS16LE:
{
qDebug("TCPSrc::onNewConnection: establish new S16LE connection");
quint32 id = (FormatS16LE << 24) | m_nextS16leId; quint32 id = (FormatS16LE << 24) | m_nextS16leId;
MsgTCPSrcConnection* msg = MsgTCPSrcConnection::create(true, id, connection->peerAddress(), connection->peerPort()); MsgTCPSrcConnection* msg = MsgTCPSrcConnection::create(true, id, connection->peerAddress(), connection->peerPort());
m_nextS16leId = (m_nextS16leId + 1) & 0xffffff; m_nextS16leId = (m_nextS16leId + 1) & 0xffffff;
@ -314,12 +322,15 @@ void TCPSrc::onDisconnected()
quint32 id; quint32 id;
QTcpSocket* socket = 0; QTcpSocket* socket = 0;
qDebug("TCPSrc::onDisconnected");
for(int i = 0; i < m_ssbSockets.count(); i++) for(int i = 0; i < m_ssbSockets.count(); i++)
{ {
if(m_ssbSockets[i].socket == sender()) if(m_ssbSockets[i].socket == sender())
{ {
id = m_ssbSockets[i].id; id = m_ssbSockets[i].id;
socket = m_ssbSockets[i].socket; socket = m_ssbSockets[i].socket;
socket->close();
m_ssbSockets.removeAt(i); m_ssbSockets.removeAt(i);
break; break;
} }
@ -331,8 +342,11 @@ void TCPSrc::onDisconnected()
{ {
if(m_s16leSockets[i].socket == sender()) if(m_s16leSockets[i].socket == sender())
{ {
qDebug("TCPSrc::onDisconnected: remove S16LE socket #%d", i);
id = m_s16leSockets[i].id; id = m_s16leSockets[i].id;
socket = m_s16leSockets[i].socket; socket = m_s16leSockets[i].socket;
socket->close();
m_s16leSockets.removeAt(i); m_s16leSockets.removeAt(i);
break; break;
} }
@ -346,3 +360,8 @@ void TCPSrc::onDisconnected()
socket->deleteLater(); socket->deleteLater();
} }
} }
void TCPSrc::onTcpServerError(QAbstractSocket::SocketError socketError)
{
qDebug("TCPSrc::onTcpServerError: %s", qPrintable(m_tcpServer->errorString()));
}

View File

@ -166,6 +166,7 @@ protected:
protected slots: protected slots:
void onNewConnection(); void onNewConnection();
void onDisconnected(); void onDisconnected();
void onTcpServerError(QAbstractSocket::SocketError socketError);
}; };
#endif // INCLUDE_TCPSRC_H #endif // INCLUDE_TCPSRC_H

View File

@ -154,7 +154,8 @@ bool TCPSrcGUI::handleMessage(const Message& message)
delConnection(con.getID()); delConnection(con.getID());
} }
qDebug() << " - TCPSrc::MsgTCPSrcConnection: ID: " << con.getID() qDebug() << "TCPSrcGUI::handleMessage: TCPSrc::MsgTCPSrcConnection: " << con.getConnect()
<< " ID: " << con.getID()
<< " peerAddress: " << con.getPeerAddress() << " peerAddress: " << con.getPeerAddress()
<< " peerPort: " << con.getPeerPort(); << " peerPort: " << con.getPeerPort();