From 6fa60949c1dcf8af134988219f7947d73f3b3464 Mon Sep 17 00:00:00 2001 From: Johann Latocha Date: Thu, 26 Aug 2010 22:18:48 +0200 Subject: Defect #746 --- src/net/pvsServiceBroadcast.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/net/pvsServiceBroadcast.cpp') diff --git a/src/net/pvsServiceBroadcast.cpp b/src/net/pvsServiceBroadcast.cpp index cf15b5b..f68db56 100644 --- a/src/net/pvsServiceBroadcast.cpp +++ b/src/net/pvsServiceBroadcast.cpp @@ -20,12 +20,26 @@ #include #include "src/util/serviceDiscoveryUtil.h" +#include +#include + PVSServiceBroadcast::PVSServiceBroadcast() { _announce = NULL; _timer = 0; _broadcaster.bind(SD_PORT_CONSOLE); - _everyone = QHostAddress(QHostAddress::Broadcast); + + QList interfaces = QNetworkInterface::allInterfaces (); + foreach (QNetworkInterface interface, interfaces) + { + QList entries = interface.addressEntries(); + foreach (QNetworkAddressEntry entry, entries) { + if (!entry.broadcast().isNull() && entry.broadcast().toString() != "127.255.255.255") + _everyone.append(entry.broadcast()); + } + } + if (_everyone.isEmpty()) + qDebug("ERROR: No broadcast address found"); } PVSServiceBroadcast::~PVSServiceBroadcast() @@ -47,5 +61,6 @@ void PVSServiceBroadcast::setFingerprint(QByteArray sha1) void PVSServiceBroadcast::timerEvent(QTimerEvent *event) { if (_announce == NULL) return; - _broadcaster.writeDatagram(*_announce, _everyone, SD_PORT_CLIENT); + foreach (QHostAddress bcast, _everyone) + _broadcaster.writeDatagram(*_announce, bcast, SD_PORT_CLIENT); } -- cgit v1.2.3-55-g7522 From c544ec75d2314160f5591aab966a77ead26697d7 Mon Sep 17 00:00:00 2001 From: Johann Latocha Date: Thu, 26 Aug 2010 22:58:37 +0200 Subject: Some refactoring --- CMakeLists.txt | 4 ++-- src/net/pvsServiceBroadcast.cpp | 10 +++------- src/version.h | 4 ++-- 3 files changed, 7 insertions(+), 11 deletions(-) (limited to 'src/net/pvsServiceBroadcast.cpp') diff --git a/CMakeLists.txt b/CMakeLists.txt index d2eae17..2ac01c9 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,8 +11,8 @@ CMAKE_MINIMUM_REQUIRED( VERSION 2.6.2 ) # set compiler optimizations for debug and release SET(CMAKE_BUILD_TYPE Debug) SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wall") -SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native") -# -DQT_NO_DEBUG_OUTPUT") +SET(CMAKE_CXX_FLAGS_RELEASE "-O2" ) +#-march=native -DQT_NO_DEBUG_OUTPUT # local cmake modules SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}) diff --git a/src/net/pvsServiceBroadcast.cpp b/src/net/pvsServiceBroadcast.cpp index f68db56..46d287d 100644 --- a/src/net/pvsServiceBroadcast.cpp +++ b/src/net/pvsServiceBroadcast.cpp @@ -29,15 +29,11 @@ PVSServiceBroadcast::PVSServiceBroadcast() _timer = 0; _broadcaster.bind(SD_PORT_CONSOLE); - QList interfaces = QNetworkInterface::allInterfaces (); - foreach (QNetworkInterface interface, interfaces) - { - QList entries = interface.addressEntries(); - foreach (QNetworkAddressEntry entry, entries) { + foreach (QNetworkInterface interface, QNetworkInterface::allInterfaces()) + foreach (QNetworkAddressEntry entry, interface.addressEntries()) if (!entry.broadcast().isNull() && entry.broadcast().toString() != "127.255.255.255") _everyone.append(entry.broadcast()); - } - } + if (_everyone.isEmpty()) qDebug("ERROR: No broadcast address found"); } diff --git a/src/version.h b/src/version.h index ac24ac2..69a3bde 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define VERSION_STRING "2.0.1.0" -#define VERSION_NUMBER 2010 +#define VERSION_STRING "2.0.2.0" +#define VERSION_NUMBER 2020 -- cgit v1.2.3-55-g7522 From 71a1ce22a394a0d29323ca1445622c3081c4597a Mon Sep 17 00:00:00 2001 From: Johann Latocha Date: Sat, 28 Aug 2010 15:14:54 +0200 Subject: More debugout and icon bug fixed --- pvsmgr.qrc | 2 +- src/net/pvsServiceBroadcast.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/net/pvsServiceBroadcast.cpp') diff --git a/pvsmgr.qrc b/pvsmgr.qrc index 667d71c..b917ca3 100644 --- a/pvsmgr.qrc +++ b/pvsmgr.qrc @@ -19,7 +19,7 @@ icons/target.png icons/dozent.png icons/chat.png - icons/cam32.svg + icons/cam32.svg AUTHORS TRANSLATION diff --git a/src/net/pvsServiceBroadcast.cpp b/src/net/pvsServiceBroadcast.cpp index 46d287d..a861456 100644 --- a/src/net/pvsServiceBroadcast.cpp +++ b/src/net/pvsServiceBroadcast.cpp @@ -58,5 +58,8 @@ void PVSServiceBroadcast::timerEvent(QTimerEvent *event) { if (_announce == NULL) return; foreach (QHostAddress bcast, _everyone) + { + qDebug("DEBUG: Broadcasting to %s:%i", qPrintable(bcast.toString()),SD_PORT_CLIENT); _broadcaster.writeDatagram(*_announce, bcast, SD_PORT_CLIENT); + } } -- cgit v1.2.3-55-g7522