ส่งข้อความ UPDClient โดยใช้ที่อยู่ mac หรือไม่

ฉันมีรหัสบางส่วนที่ใช้ Indy.Sockets.UDPClient เพื่อส่งข้อความไปยังพีซีบนเครือข่าย LAN โดยใช้ที่อยู่ IP และพอร์ตการฟัง (ซึ่งฉันเก็บไว้ในฐานข้อมูล):

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

แต่ข้อกำหนดมีการเปลี่ยนแปลง และตอนนี้ฉันต้องสามารถส่งข้อความโดยใช้ที่อยู่ MAC แทนได้ (และเก็บไว้ในฐานข้อมูลด้วย) เป็นไปได้ไหมที่จะส่งข้อความที่คล้ายกันโดยใช้ที่อยู่ MAC

หรือสามารถรับที่อยู่ IP ของพีซีจากที่อยู่ MAC ที่รู้จักได้หรือไม่


person JamClerk    schedule 21.09.2012    source แหล่งที่มา


คำตอบ (1)


ทันทีที่คุณสามารถค้นหาที่อยู่ IP ด้วยที่อยู่ Mac (http://fr.wikipedia.org/wiki/Address_Resolution_Protocol) คุณจะสามารถส่งข้อความถึงเขาโดยใช้ UDPClient

โพสต์นี้ อธิบายวิธีการแก้ไขที่อยู่ IP จากที่อยู่ MAC โดยใช้ ARP.exe

person Olivier Kaisin    schedule 21.09.2012
comment
ฉันลองใช้โค้ดนี้ มันส่งคืนอุปกรณ์ 8 เครื่องบนเครือข่ายของฉันเท่านั้น (ซึ่งฉันเชื่อว่าเป็นเซิร์ฟเวอร์) แต่ฉันรู้ว่ามีเครื่องจริงมากกว่า 70 เครื่องที่ไม่ถูกส่งคืน - person JamClerk; 21.09.2012
comment
เป็นเรื่องแปลก คุณควรตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงอุปกรณ์เหล่านี้ได้ - person Olivier Kaisin; 21.09.2012
comment
ใช่ ฉันตรวจสอบแล้ว ฉันมีโค้ดตัวอย่างอีกชิ้นหนึ่งซึ่งโหลดอุปกรณ์ทั้งหมดบนเครือข่ายสำหรับกลุ่มงานที่กำหนด - แต่ฉันใช้สิ่งนี้ไม่ได้เพราะโปรแกรมของฉันจะไม่ทราบชื่อกลุ่มงาน - person JamClerk; 21.09.2012