Я запускаю код, который должен посылать «Привет» в эфир, дело в том, что он не работает, и я не знаю почему.Вот код:
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, чтобы проверить, выходит ли что-то из компьютера, но кажется, что ничего не выходит ..
Кто-то может помочь, пожалуйста?Заранее спасибо
Редактировать: Я проверил код на другом компьютере, который подключен к сети кабелем, а не по Wi-Fi, и это сработало.Эти два компьютера находятся в одной сети.В чем может быть причина того, что код работает на одном компьютере и не работает на другом?
Второе редактирование - Решение : Я нашел решение.Поскольку компьютер подключен через Wi-Fi, для трансляции необходимо сначала связать сокет с вашим 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()