我正在尝试从Python程序到两个LabView程序的UDP广播.我似乎无法播放广播,我不知道我的套接字初始化是错误的,广播似乎很简单?据我所知,其他PC没有收到任何数据.此外,我将需要此程序以便将来从其他PC接收数据.这似乎不应该让事情变得复杂,但对我而言,每一步都很复杂!
背景:我没有软件经验,这只是我在工作中分配的东西.任何帮助表示赞赏.代码如下.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)
Run Code Online (Sandbox Code Playgroud) 使用Python,是否可以在本地主机和某个端口上发送UDP数据,然后在同一程序内同时监听本地主机上的不同端口?我一直在使用错误48'地址已经在使用'并尝试使用python的重用地址,虽然我很确定它无论如何都不适用于这个应用程序.
背景:我对软件开发一无所知,更不用说Python,这只是某人在工作中要求的东西.
我感谢任何帮助.
from threading import Thread
import time
import socket
HOST = 'localhost'
PORT = 5455
PORT1 = 5457
data1 = "1"
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((HOST,PORT1))
a = 0
def myfunction(string, *args):
while 1:
cmd = int( raw_input("send message: ") )
if (cmd == 1):
s.sendto(data1, (HOST,PORT))
time.sleep(1)
def myfunction2(string, *args):
while 1:
print s.recv(30)
time.sleep(.5)
if __name__=='__main__':
try:
Thread(target=myfunction, args=(a, 1)).start()
Thread(target=myfunction2, args=(a, 1)).start()
except Exception, errtxt:
print errtxt
Run Code Online (Sandbox Code Playgroud)