public static function find_zeroconf_phoromatic_servers($find_multiple = false)
 {
     if (!pts_network::network_support_available()) {
         return null;
     }
     $hosts = $find_multiple ? array() : null;
     if (PTS_IS_CLIENT && pts_client::executable_in_path('avahi-browse')) {
         $avahi_browse = explode(PHP_EOL, shell_exec('avahi-browse -p -r -t _http._tcp 2>&1'));
         foreach (array_reverse($avahi_browse) as $avahi_line) {
             if (strrpos($avahi_line, 'phoromatic-server') !== false) {
                 $avahi_line = explode(';', $avahi_line);
                 if (isset($avahi_line[8]) && ip2long($avahi_line[7]) !== false && is_numeric($avahi_line[8])) {
                     $server_ip = $avahi_line[7];
                     $server_port = $avahi_line[8];
                     //echo $server_ip . ':' . $server_port;
                     if ($find_multiple) {
                         array_push($hosts, array($server_ip, $server_port));
                     } else {
                         $hosts = array($server_ip, $server_port);
                         break;
                     }
                 }
             }
         }
     }
     return $hosts;
 }