我希望當我的以太網端口發生LAN連接的物理斷開連接時,我的程序會打印一條語句。有沒有什麼辦法可以檢測我的局域網是否被斷開?
一種方法是檢查互聯網連接是否存在不連續,但我不希望在服務器發生網絡問題時觸發打印語句。只有當連線實際上未連接到我的電腦。
有什麼辦法可以在Python中實現這個嗎?
我希望當我的以太網端口發生LAN連接的物理斷開連接時,我的程序會打印一條語句。有沒有什麼辦法可以檢測我的局域網是否被斷開?
一種方法是檢查互聯網連接是否存在不連續,但我不希望在服務器發生網絡問題時觸發打印語句。只有當連線實際上未連接到我的電腦。
有什麼辦法可以在Python中實現這個嗎?
我想已經有一個回答這個問題:https://stackoverflow.com/a/808599
編輯:要在短期內向,你可以使用/ SYS /班/網/設備的屬性/ *檢查電線連接,如果你運行Linux。 您可以使用默認的python方法訪問這些文件。
對於Windows,沒有辦法(或可能是一個非常醜陋的方法)來檢查在Python中。
您可以使用此code snippet:
def is_interface_up(interface):
addr = netifaces.ifaddresses(interface)
return netifaces.AF_INET in addr
,它將返回true,如果interface
到了。如果返回的值發生變化,您可以定期檢查is_interface_up和print
。
OP要檢查電纜是否連接,而不是iface是否啓用。 – xanoetux
更多詳情?爲什麼你不能使用標準的方式來做到這一點?你有沒有嘗試過,爲什麼它不適合你的需求?例如,在網絡中斷運行內核命令列出設備並檢查您正在使用的設備是否正在運行。 –