Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python UDP广播不';不行,有什么问题吗?_Python_Sockets_Networking - Fatal编程技术网

Python UDP广播不';不行,有什么问题吗?

Python UDP广播不';不行,有什么问题吗?,python,sockets,networking,Python,Sockets,Networking,我正在运行一个应该在广播中发送“嘿”的代码,问题是它不起作用,我不知道为什么。代码如下: import socket def main(): searcher_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) searcher_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) searcher_socket.sendto("Hey

我正在运行一个应该在广播中发送“嘿”的代码,问题是它不起作用,我不知道为什么。代码如下:

import socket  

def main():
    searcher_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    searcher_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
    searcher_socket.sendto("Hey", ("255.255.255.255", 9010))
    response, address = searcher_socket.recvfrom(1024)
    print response

main()
我嗅了嗅Wireshark,想看看电脑里是否有东西出来了,但似乎什么也没出来

有人能帮忙吗?提前谢谢

编辑:我已经在另一台通过电缆连接到网络而不是通过wifi连接的计算机上测试了该代码,该代码正常工作。这两台计算机共享同一个网络。代码在一台计算机上工作而在另一台计算机上失败的原因是什么

第二次编辑-解决方案:我找到了解决方案。由于计算机是通过wifi连接的,为了进行广播,您需要首先将套接字与您的ip地址绑定

import socket  

def main():
    searcher_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    searcher_socket.bind(("192.168.1.11", 40400)) # 192.168.1.11 is my computer ip address
    searcher_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
    searcher_socket.sendto("Hey", ("255.255.255.255", 9010))
    response, address = searcher_socket.recvfrom(1024)
    print response

main()

在您发布的代码中,未调用函数
main
。添加
main()
call

在您发布的代码中,不会调用函数
main
。添加
main()
call

有一个main()调用,但我没有将它复制到这里。对不起。您是否看到其他可能导致此问题的原因?有一个main()调用,但我没有将其复制到此处。对不起。您是否看到其他可能导致问题的原因?它是您计算机的IP地址之一。如果不是默认路由,则需要绑定到要发送广播的地址。它是计算机的IP地址之一。如果不是默认路由,则需要绑定到要发送广播的地址。