[Python-de] UDP Socket-Programmierung und "falsche" IP-Adressen

Helge Wiethoff helge at nicht-laut.de
Mi Aug 7 09:47:55 CEST 2013


Hi,

Am 06.08.2013 18:04, schrieb Alexander Langer:
> Nimm mal statt '255.255.255.255' die Konstante INADDR_BROADCAST

Das check ich grad irgendwie nicht. Der bind auf INADDR_BROADCAST geht 
nich:
--------------
botschek~ # ms_controll
Traceback (most recent call last):
   File "/usr/sbin/ms_controll", line 147, in <module>
     cs.bind((INADDR_BROADCAST,UDP_GET_PORT))
   File "/usr/lib64/python2.7/socket.py", line 224, in meth
     return getattr(self._sock,name)(*args)
TypeError: coercing to Unicode: need string or buffer, int found
--------------
print INADDR_BROADCAST # gibt 4294967295 raus. Also 255.255.255.255


> Socket existiert ? Mal mit linux netstat prüfen.

udp        0      0 255.255.255.255:8340    *:*                         
        15596/python
von den Geräten aus dem gleichen Subnetz kommen die Pakete ja auch 
korrekt an.

> Alternatic:
> 
> http://codingrelic.geekhold.com/2009/10/code-snippet-sobindtodevice.html
>
> Geht wohl nur mit root.
> Soll ans Device binden, nicht an die Adresse.
Mhh ich weiss grad noch nicht ob das mein Problem löst?! :)

LG,
Helge


Mehr Informationen über die Mailingliste python-de