我試圖播放一些數據並使用python接收數據。 這是我想出的代碼。使用Python廣播和接收數據
from socket import *
import threading
class PingerThread (threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run (self):
print 'start thread'
cs = socket(AF_INET, SOCK_DGRAM)
cs.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
cs.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
cs.sendto('This is a test', ('192.168.65.255', 4499))
a = PingerThread()
a.start()
cs = socket(AF_INET, SOCK_DGRAM)
data = cs.recvfrom(1024) # <-- waiting forever
但是,代碼似乎永遠在cs.recvfrom(1024)
等待。什麼可能是錯誤的?
難道你不得不告訴你在哪裏聽的插座嗎? –
你可能想看看http://docs.python.org/2/library/socketserver.html,它很好地覆蓋了這個應用程序與一個非常薄的糖層。 – synthesizerpatel