Python UDP-Broadcast senden nicht
Ich versuche zu UDP-broadcast aus einem Python-Programm, um zwei LabView-Programmen. Ich kann nicht scheinen, um den broadcast zu senden und ich bin mir nicht sicher, wo meine socket-Initialisierung ist falsch, Rundfunk scheint einfach genug?? Soweit ich sehen kann, gibt es keine Daten werden empfangen, indem die anderen PCs. Auch, ich brauche dieses Programm zum empfangen von Daten von anderen PCs in der Zukunft. Wie es scheint, sollte nicht die Dinge zu komplizieren, aber bei jedem Schritt wurde der Weg zu kompliziert für mich!
Hintergrund: ich habe null software-Erfahrung, das ist nur etwas, was ich zugewiesen wurde, bei der Arbeit. Jede Hilfe ist willkommen. Code ist unten. Python 2.7.
from threading import Thread
import time
from socket import *
cs = socket(AF_INET, SOCK_DGRAM)
cs.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
cs.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
cs.connect(('<broadcast>', 5455))
while 1:
cmd = int(raw_input('send: '))
if (cmd == 1):
cs.send('1')
time.sleep(1)
InformationsquelleAutor der Frage TDK | 2012-09-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie nicht
connect()
um einen UDP-socket, müssen Sie zu:EDIT: Dies scheint zu funktionieren für mich:
Auf einem anderen Rechner lief ich tcpdump:
Können Sie sehen, dass der text in der payload. Sowie das broadcast-Ethernet-und IP-dst-addrs.
InformationsquelleAutor der Antwort tMC