Ich verwende Windows XP mit SP2. Mein erstes Problem war, daß ein Windows Dienst den Port bereits belegt hatte. Das habe ich gelöst und wenn ich "netstat -a" eingebe, wird kein Programm angezeigt, daß den Port 1900 benutzt. Meine Firewall habe ich zum Test schon deaktiviert, hat aber auch nichts gebracht.
Kann mir jemand helfen? Läuft das Beispiel bei irgend jemand? Ich habe im Internet gelesen, daß es Schwierigkeiten bei Windows XP vor dem SP 2 gab. Deswegen habe ich gerade eben nochmal den Windows Update durchgeführt, um auch sicher auf dem neusten Stand zu sein. Auf Linux habe ich leider nur am Wochenende Zugriff, das bedeutet, daß die eigentliche Entwicklungsarbeit unter Windows XP stattfinden muß.
Bin für jeden Hinweis dankbar.
Ich habe folgende Beispiele benutzt:
Server:
Code: Alles auswählen
from twisted.internet.protocol import DatagramProtocol
from twisted.internet import reactor
from twisted.application.internet import MulticastServer
HOST="239.255.255.250"
PORT=1900
class MulticastServerUDP(DatagramProtocol):
def startProtocol(self):
print 'Started Listening'
# Join a specific multicast group, which is the IP we will respond to
self.transport.joinGroup(HOST)
def datagramReceived(self, datagram, address):
# The uniqueID check is to ensure we only service requests from
# ourselves
print "Server Received:" + repr(datagram)
self.transport.write("data", address)
# Listen for multicast
reactor.listenMulticast(PORT, MulticastServerUDP())
reactor.run()
Code: Alles auswählen
from twisted.internet.protocol import DatagramProtocol
from twisted.internet import reactor
from twisted.application.internet import MulticastServer
HOST="239.255.255.250"
PORT=1900
class MulticastClientUDP(DatagramProtocol):
def datagramReceived(self, datagram, address):
print "Received:" + repr(datagram)
# Send multicast
reactor.listenUDP(0, MulticastClientUDP()).write('UniqueID', (HOST, PORT))
reactor.run()