From 0b1771db632f525a68b18b9d57b93c9e843074bc Mon Sep 17 00:00:00 2001 From: chriszero Date: Wed, 19 Nov 2014 19:44:37 +0100 Subject: Added more logging --- plexgdm.cpp | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) (limited to 'plexgdm.cpp') diff --git a/plexgdm.cpp b/plexgdm.cpp index 12e1e8a..b7d45a1 100644 --- a/plexgdm.cpp +++ b/plexgdm.cpp @@ -1,3 +1,4 @@ +#include #include "plexgdm.h" namespace plexclient @@ -47,6 +48,7 @@ std::string plexgdm::getClientDetails() void plexgdm::Action() { + char buffer[1024]; m_registrationIsRunning = true; cMutexLock lock(&m_mutex); @@ -98,26 +100,31 @@ void plexgdm::Action() void plexgdm::discover() { - // TODO: Discover multiple servers - char buffer[1024]; - Poco::Net::MulticastSocket socket( - Poco::Net::SocketAddress( Poco::Net::IPAddress(), m_discoverAdress.port() ) - ); - socket.setReceiveTimeout(0.6); - //socket.setTimeToLive(0.6); - socket.sendTo(_discoverMessage.c_str(), _discoverMessage.length(), m_discoverAdress, 0); - - socket.joinGroup(m_discoverAdress.host()); - Poco::Net::SocketAddress sender; - int n = socket.receiveFrom(buffer, sizeof(buffer), sender); - std::string buf(buffer, n); - //std::cout << "Discover received from: " << sender.host().toString() << "\nData:\n" << buf; - - socket.close(); - m_discoveryComplete = true; - // check for a valid response - if(buf.find("200 OK") != std::string::npos) { - m_pServer = new PlexServer(buf, sender.host().toString()); + try { + // TODO: Discover multiple servers + char buffer[1024]; + Poco::Net::MulticastSocket socket( + Poco::Net::SocketAddress( Poco::Net::IPAddress(), m_discoverAdress.port() ) + ); + socket.setReceiveTimeout(0.6); + //socket.setTimeToLive(0.6); + socket.sendTo(_discoverMessage.c_str(), _discoverMessage.length(), m_discoverAdress, 0); + + socket.joinGroup(m_discoverAdress.host()); + Poco::Net::SocketAddress sender; + int n = socket.receiveFrom(buffer, sizeof(buffer), sender); + std::string buf(buffer, n); + //std::cout << "Discover received from: " << sender.host().toString() << "\nData:\n" << buf; + + socket.close(); + m_discoveryComplete = true; + // check for a valid response + if(buf.find("200 OK") != std::string::npos) { + m_pServer = new PlexServer(buf, sender.host().toString()); + } + } + catch(Poco::Exception &exc){ + esyslog("[plex]Exception in %s s%", __func__, exc.displayText().c_str() ); } } -- cgit v1.2.3