From 8041e1a807802ae764f5b6dfd021eed95737ba58 Mon Sep 17 00:00:00 2001 From: Kevin Whitaker Date: Thu, 11 Apr 2019 10:24:01 -0400 Subject: [PATCH] Fix oops where I set the broadcast port to 0 by setting early. Rearrange tcp server code to be in sync with broadcasting code. --- src/simplecasttcpservice.cpp | 9 +++++++-- src/simplecasttcpservice.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/simplecasttcpservice.cpp b/src/simplecasttcpservice.cpp index d6ccc60..d94d5d7 100644 --- a/src/simplecasttcpservice.cpp +++ b/src/simplecasttcpservice.cpp @@ -79,12 +79,15 @@ signals: SimpleCastTcpService::SimpleCastTcpService(MiniMediaPlayer *player,QObject *parent) : QTcpServer(parent),player(player),manager(new QNetworkAccessManager(this)) { - dnsService = new KDNSSD::PublicService(QString(),"_simplecast._tcp",this->serverPort(),"local"); + dnsService = new KDNSSD::PublicService(QString(),"_simplecast._tcp",port,"local"); dnsService->setParent(this); } bool SimpleCastTcpService::listen(const QHostAddress& address, quint16 port) { + this->address = address; + this->port = port; + dnsService->setPort(port); bool listening = QTcpServer::listen(address,port); dnssdConnection = connect(manager,SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)),this,SLOT(networkAccessChanged(QNetworkAccessManager::NetworkAccessibility))); //Start publishing now and if not, wait for networkAccessibleManager to let us know. @@ -99,10 +102,12 @@ void SimpleCastTcpService::networkAccessChanged(QNetworkAccessManager::NetworkAc { if(accessible == QNetworkAccessManager::Accessible) { + QTcpServer::listen(address,port); dnsService->publishAsync(); } else { + QTcpServer::close(); dnsService->stop(); } @@ -110,8 +115,8 @@ void SimpleCastTcpService::networkAccessChanged(QNetworkAccessManager::NetworkAc void SimpleCastTcpService::close() { - QTcpServer::close(); disconnect(dnssdConnection); + QTcpServer::close(); dnsService->stop(); } diff --git a/src/simplecasttcpservice.h b/src/simplecasttcpservice.h index dc385f4..8294722 100644 --- a/src/simplecasttcpservice.h +++ b/src/simplecasttcpservice.h @@ -46,6 +46,8 @@ private: KDNSSD::PublicService *dnsService; QNetworkAccessManager *manager; QMetaObject::Connection dnssdConnection; + QHostAddress address = QHostAddress::Any; + quint64 port = 54634; }; -- GitLab