2013-02-26 62 views
9

我在C#中實現了一個發現協議(DNS-SD)。我遇到了一個小問題:當我的程序運行時,我需要檢測何時建立了新連接(網絡電纜插入或WiFi連接),並在這些網絡上宣佈我自己。當網絡電纜插入/無線連接時被通知

但是如何檢測這個?我已經看到了一些代碼來獲取網卡的當前狀態,但沒有發生任何事件,並且我想避免在網卡狀態上進行一些輪詢。

+1

看看這個:http://stackoverflow.com/questions/1387650/how-to-get-an-event-whenever-the-network-cable-is-connected-or-disconnected – 2013-02-26 09:45:32

回答

4

您可以使用GetIstNetworkAvailable -method檢查是否有網絡連接。每當它改變NetworkAvailabilityChanged事件get被解僱。欲瞭解更多信息,請參閱this question

如果要跟蹤不同的可用性NetworkInterfaceshere是如何執行此操作的示例。

+0

我可能誤解了,但我相信OP需要更多的信息 - 例如Connect LAN(事件引發),Connect Wifi(無聲?)斷開LAN(無聲?),斷開Wifi(事件)。 – Basic 2013-02-26 10:38:10

+1

只要有一個可用的網絡接口可用性發生變化,就應該引發NetworkAvailabilityChanged-Event。然後您可以測試哪些網絡接口可用。我已經更新了答案;) – Carsten 2013-02-26 10:49:15

+1

嗨,我認爲用你的最後一個例子,我可以做出我需要的東西 – J4N 2013-02-26 10:49:34

相關問題