Private
Public Access
1
0

Fix oops where I set the broadcast port to 0 by setting early. Rearrange tcp server code to be in sync with broadcasting code.

This commit is contained in:
2019-04-11 10:24:01 -04:00
parent e5d3c6b345
commit 8041e1a807
2 changed files with 9 additions and 2 deletions

View File

@@ -79,12 +79,15 @@ signals:
SimpleCastTcpService::SimpleCastTcpService(MiniMediaPlayer *player,QObject *parent) : QTcpServer(parent),player(player),manager(new QNetworkAccessManager(this)) 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); dnsService->setParent(this);
} }
bool SimpleCastTcpService::listen(const QHostAddress& address, quint16 port) bool SimpleCastTcpService::listen(const QHostAddress& address, quint16 port)
{ {
this->address = address;
this->port = port;
dnsService->setPort(port);
bool listening = QTcpServer::listen(address,port); bool listening = QTcpServer::listen(address,port);
dnssdConnection = connect(manager,SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)),this,SLOT(networkAccessChanged(QNetworkAccessManager::NetworkAccessibility))); 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. //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) if(accessible == QNetworkAccessManager::Accessible)
{ {
QTcpServer::listen(address,port);
dnsService->publishAsync(); dnsService->publishAsync();
} }
else else
{ {
QTcpServer::close();
dnsService->stop(); dnsService->stop();
} }
@@ -110,8 +115,8 @@ void SimpleCastTcpService::networkAccessChanged(QNetworkAccessManager::NetworkAc
void SimpleCastTcpService::close() void SimpleCastTcpService::close()
{ {
QTcpServer::close();
disconnect(dnssdConnection); disconnect(dnssdConnection);
QTcpServer::close();
dnsService->stop(); dnsService->stop();
} }

View File

@@ -46,6 +46,8 @@ private:
KDNSSD::PublicService *dnsService; KDNSSD::PublicService *dnsService;
QNetworkAccessManager *manager; QNetworkAccessManager *manager;
QMetaObject::Connection dnssdConnection; QMetaObject::Connection dnssdConnection;
QHostAddress address = QHostAddress::Any;
quint64 port = 54634;
}; };