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:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user