2012-09-21 53 views
0

我有一個使用Indy.Sockets.UDPClient使用的IP地址和監聽端口(我存儲在數據庫中)將消息發送到個LAN網絡上的一些代碼:使用mac地址發送UPDClient消息?

public static void SendMessage(Client pClient) 
{ 
    UDPClient udpClient = new UDPClient(); 
    udpClient.Host = pClient.ServerIP; 
    udpClient.Port = pClient.fListeningOnUDPPort; 
    udpClient.SendBuffer(pClient.RestartMessage); 
} 

但需求已經改變,我現在需要能夠使用MAC地址發送消息(也存儲在數據庫中),是否可以使用MAC地址發送類似的消息?

或者是否有可能從已知的MAC地址獲取PC的IP地址?

回答

0

只要你能找到的MAC地址(http://fr.wikipedia.org/wiki/Address_Resolution_Protocol)你可以送他使用UDPClient

This post描述了一個消息的IP地址使用ARP.exe從MAC地址解析IP地址。

+0

我試着實現這個代碼,它只在我的網絡上返回了8個設備(我相信它是服務器),但是我知道有超過70個物理機器沒有被返回 – JamClerk

+0

這很奇怪,你應該驗證一下您可以訪問這些設備。 –

+0

是的,我已經驗證,我有另一塊示例代碼加載網絡上的給定工作組的所有設備 - 但我不能使用它,因爲我的程序不會知道工作組的名稱 – JamClerk