小编TDK*_*TDK的帖子

Python UDP广播不发送

我正在尝试从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 labview udp broadcast

17
推荐指数
1
解决办法
4万
查看次数

Python - 1程序,在不同的端口上发送和接收但是相同的主机,是否可能?

使用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)

python sockets udp localhost

4
推荐指数
1
解决办法
4203
查看次数

标签 统计

python ×2

udp ×2

broadcast ×1

labview ×1

localhost ×1

sockets ×1