ich habe hier ein kleines Beispielscript für einen Server, der auf einem UDP-Port nach Paketen lauscht. Ein kleiner Client soll nen Broadcast herumschicken. Wenn der Server den Broadcast empfängt, soll er ein Paket an den Client zurückschicken, das dieser dann weiterverarbeitet. Ich bin bis jetzt so weit das der Server den Broadcast empfängt und auch die übermittelten Daten ausgibt, aber das Paket das er an den Client zurückschickt kommt dort nicht an. Ich bin mir nicht sicher wo's hakt, kann mit evtl. jemand helfen?
server.py
Code: Alles auswählen
import socket
host = ""
port = 50000
version = "0.1"
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((host, port))
while 1:
try:
msg, addr = s.recvfrom(8192)
print "Client version " + msg + " at " + addr[0]
s.sendto(version, addr)
except:
break
Code: Alles auswählen
import socket, sys, time
host = "<broadcast>"
port = 50000
version = "0.1"
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.connect((host, port))
s.sendall(version)
s.shutdown(1)
while 1:
msg, addr = s.recvfrom(2048)
print "Server version: " + msg