Senden und Empfangen von UDP-Paketen

Der folgende Code sendet ein Paket an Port 15000:

int port = 15000;
UdpClient udp = new UdpClient();
//udp.EnableBroadcast = true;  //This was suggested in a now deleted answer
IPEndPoint groupEP = new IPEndPoint(IPAddress.Broadcast, port);
string str4 = "I want to receive this!";
byte[] sendBytes4 = Encoding.ASCII.GetBytes(str4);
udp.Send(sendBytes4, sendBytes4.Length, groupEP);
udp.Close();

Es ist jedoch nutzlos, wenn ich es nicht auf einem anderen Computer empfangen kann. Ich muss lediglich einen Befehl an einen anderen Computer im LAN senden und diesen empfangen, um etwas zu tun.

Gibt es eine Möglichkeit, dies zu erreichen, ohne eine Pcap-Bibliothek zu verwenden? Der Computer, mit dem mein Programm kommuniziert, ist Windows XP 32-Bit, und der sendende Computer ist Windows 7 64-Bit, sofern dies einen Unterschied macht. Ich habe mir verschiedene angeschautnet send Befehle, aber ich kann sie nicht herausfinden.

Ich habe auch Zugriff auf die lokale IP des Computers (der XP), indem ich "ipconfig" darauf eingeben kann.

BEARBEITEN: Hier ist die Empfangsfunktion, die ich verwende und die von irgendwoher kopiert wurde:

public void ReceiveBroadcast(int port)
{
    Debug.WriteLine("Trying to receive...");
    UdpClient client = null;
    try
    {
        client = new UdpClient(port);
    }
    catch (Exception ex)
    {
        Debug.WriteLine(ex.Message);
    }

    IPEndPoint server = new IPEndPoint(IPAddress.Broadcast, port);

    byte[] packet = client.Receive(ref server);
    Debug.WriteLine(Encoding.ASCII.GetString(packet));
}

Ich rufe anReceiveBroadcast(15000) aber es gibt überhaupt keine Ausgabe.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage