diff options
author | chriszero <zerov83@gmail.com> | 2014-11-19 19:44:37 +0100 |
---|---|---|
committer | chriszero <zerov83@gmail.com> | 2014-11-19 19:44:37 +0100 |
commit | 0b1771db632f525a68b18b9d57b93c9e843074bc (patch) | |
tree | f55c15e5f2ef2a5979c4e055c46026696c9b429c /plexgdm.cpp | |
parent | 53143efc7a8b93ac779b494588e44c2ef47a1f12 (diff) | |
download | vdr-plugin-plex-0b1771db632f525a68b18b9d57b93c9e843074bc.tar.gz vdr-plugin-plex-0b1771db632f525a68b18b9d57b93c9e843074bc.tar.bz2 |
Added more logging
Diffstat (limited to 'plexgdm.cpp')
-rw-r--r-- | plexgdm.cpp | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/plexgdm.cpp b/plexgdm.cpp index 12e1e8a..b7d45a1 100644 --- a/plexgdm.cpp +++ b/plexgdm.cpp @@ -1,3 +1,4 @@ +#include <vdr/tools.h> #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() ); } } |