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地址之一。如果不是默认路由,则需要绑定到要发送广播的地址。