Einfache UDP Broadcasts

Code-Stücke können hier veröffentlicht werden.
Antworten
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Sonntag 1. Juli 2007, 01:06

Hier ein einfaches Beispiel wie man Python UDP Broadcasts macht:

Daemon:

Code: Alles auswählen

#!/usr/bin/python
import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# optional - reuse address / sockets
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
# bind to host "" (any) and port 6666
sock.bind(("", 6666))

while True:
    msg, addr = sock.recvfrom(1024)
    print "%s: %s" % (addr, msg)
    sock.sendto("echo: " + msg, addr)
client:

Code: Alles auswählen

#!/usr/bin/python
import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
msg = raw_input("Message: ")
sock.bind(("", 5555))
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(msg, ("255.255.255.255", 6666))
print "Reply:", sock.recvfrom(1024)[0]
...In der Realität sollten jedoch nonblocking Sockets verwendet werden.
Antworten