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

Helge Wiethoff helge at nicht-laut.de
Di Aug 13 13:18:34 CEST 2013


Moinmoin,


>> 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.
Das hab ich grad mal gecheckt aber ist tatsächlich nicht das was ich 
suche...

So wie es aussieht ist es mit Python nicht möglich, bzw. entzieht sich 
meiner Kenntnis.

Gruß,
Helge





Mehr Informationen über die Mailingliste python-de