2012-05-29 31 views
1

我們有一個傳統的WinCE設備,它在一個封閉的以太網上工作很好。但是現在我們試圖讓它與其他設備很好地協作,並且當網絡上有DHCP服務器時它會失敗。我可以關閉WinCE DHCP服務器,以便始終使用zeroconfig嗎?

問題是,爲了加速啓動,原始工程師在註冊表中設置了「DhcpEnableImmediateAutoIP」。這有效地關閉了WinCE在等待一段時間之後確定沒有DHCP服務器並執行零配置之前的超時。但是因爲它實際上並沒有關閉DHCP請求,所以它會使用zeroconfig分配一個IP地址,然後在幾秒鐘之後從DHCP服務器獲得第二個IP地址時,它就會關閉。

我可以看到「DhcpEnableImmediateAutoIP」是控制DHCP的幾個鍵之一,所以我想知道如果我將「EnableDHCP」設置爲0會發生什麼?這是否會關閉DHCP請求,因此它只是執行zeroconfig,還是關閉了zeroconfig,因此它永遠不會獲得IP地址?

+2

這是我在StackOverflow上發現討厭的東西 - 有人投票結束這個問題,但沒有打擾解釋爲什麼。問題是否無效?我說得很糟糕嗎? 不要打和跑。 – parsley72

回答

3

我最終發現,EnableDHCP關閉DHCP,然後假定靜態IP設置(因此您需要提供IP地址,子網掩碼和可選的網關/ DNS)。

這裏有所有你可以設置的選項: http://msdn.microsoft.com/en-us/library/ms884977.aspx

保持DhcpEnableImmediateAutoIP,設置AutoInterval可能的最高值:REG_DWORD註冊表項指定的時間間隔,以秒計,用來驗證DHCP服務器可用。該值在內部乘以* 1000以毫秒爲單位,因此您可以設置的最大值不帶折返對應於約49天。如果設備一直處於啓動狀態,那麼在這段時間之後,即使所有事情都搞砸了,但你仍然會在一段時間內結束...

一個確定的解決方案可能是克隆DHCP客戶端(D:\ WINCE600 \ PRIVATE \ WINCEOS \ COMM \ DHCP)並修改它以便不發送發現數據包,例如,在AutoInterval定時器過去時,定期調用該函數。

+0

我有一臺設備與Windows CE 6.0相同的問題。我看到DHCP服務器提供IP地址,但設備不發送任何響應。幾秒鐘後,設備爲該設備分配默認IP地址。同一臺設備在此網絡中工作,但在其他位置。設備端可能會出現什麼問題?當我將筆記本電腦連接到這些端口時,它正在工作,但設備沒有獲得IP地址。有任何建議可以解決此問題。 –

相關問題