簡體   English   中英

ip python windows 10上的BroadCast消息

[英]BroadCast message over ip python windows 10

我正在嘗試編寫一個簡單的信使,將廣播信息發送到本地網絡中的所有計算機。 該代碼適用於Windows 7,Ubuntu 14.10但是當我嘗試在Windows 10上使用它時,它甚至不會發送udp包進行廣播,它什么都不做(用wireshark檢查,沒有傳出包)

import socket
import sys
import traceback

dest=('<broadcast>',10100)
UDPSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

UDPSock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
while True:
    data = raw_input("Enter message to send or type 'exit': ")
    UDPSock.sendto(data, dest)
    if data == "exit":
        break
UDPSock.close()

更新到Win10后我發現了同樣的問題。 我的WOL.py(Wakeup On Lan)不再起作用了。 用tcpdump檢查。

我現在發現了一種解決方法。

# Broadcast it to the LAN.
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(send_data, ('172.16.1.255', 9)

使用廣播位設置將地址從'<broadcast>'更改為網絡地址可在我的系統上運行。

例如,我有一個帶有IP 172.16.1.x網絡掩碼255.255.255.0的C類網絡。 '<broadcast>'更改為'172.16.1.255'就可以了。 通常這是由OS完成的。

PS。:抱歉錯誤發布,上次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM