'Obtain and print /proc/net/sockstat statistics
:param hosts: set of hosts to check. in the format of:
set([(\'127.0.0.1\', 6020), (\'127.0.0.2\', 6030)])'

def socket_usage(self, hosts):

    inuse4 = {}
    mem = {}
    inuse6 = {}
    timewait = {}
    orphan = {}
    recon = Scout('sockstat', self.verbose, self.suppress_errors, self.timeout)
    print(('[%s]    Checking    socket    usage' % self._ptime()))
    for (url, response, status, ts_start, ts_end) in self.pool.imap(recon.scout, hosts):
        if (status == 200):
            inuse4[url] = response['tcp_in_use']
            mem[url] = response['tcp_mem_allocated_bytes']
            inuse6[url] = response.get('tcp6_in_use', 0)
            timewait[url] = response['time_wait']
            orphan[url] = response['orphan']
    stats = {'tcp_in_use': inuse4, 'tcp_mem_allocated_bytes': mem, 'tcp6_in_use': inuse6, 'time_wait': timewait, 'orphan': orphan}
    for item in stats:
        if (len(stats[item]) > 0):
            computed = self._gen_stats(stats[item].values(), item)
            self._print_stats(computed)
        else:
            print('No    hosts    returned    valid    data.')
    print(('=' * 79))
