Найти - Пользователи
Полная версия: [linux]Python и Broadcasting
Начало » Network » [linux]Python и Broadcasting
1
nihirash
В общем, проблема исключительно под Linux(что меня удивляет просто немерянно). В Windows работает все идеально.
В Linux работает ТОЛЬКО отправка UDP-широковещалки, а вот ловить он не хочет.
При этом tcpdump ловит пакеты. С Root/Sudo-привелегиями пробовал. Не меняется.
По части приема пакетов - вот код:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.bind(('', 13254))
...
   try:
        message = s.recv(128)
        log.insert(END, str(message) +"\n")
    except:
nihirash
Вот как бы не было удивительно - виной оказался именно дистр линукса. Fedora 17 просто блочила файрволом соединение.

Может кому пригодится, но лечится это там:

# sudo system-config-firewall
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB