Zunächst entschuldige ich mich für die falsche Verwendung der Terminologie.Listen zu bestimmten Port mit UDPClient & Get übermittelte Pakete
Ich habe einen Sensor in meinem lokalen Netzwerk. Es überträgt aktuelle Temperaturwerte an alle im Netzwerk an Port 35333. Ich möchte ein C# -Konsolenprogramm erstellen, das kontinuierlich Pakete von diesem Sensor empfängt.
Dies ist meine aktuellen Code:
public static UdpClient Client = new UdpClient(35333);
private static async void Start()
{
Client.BeginReceive(new AsyncCallback(recv), null);
}
private static void recv(IAsyncResult res)
{
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] received = Client.EndReceive(res, ref RemoteIpEndPoint);
//Process codes
Client.BeginReceive(new AsyncCallback(recv), null);
}
Der obige Code funktioniert, ist aber hier das Problem: Ich gleiche Byte-Array die ganze Zeit erhalten bleiben.
...
[114][51][57][48][48][77][72][112]
[114][51][57][48][48][77][72][112]
[114][51][57][48][48][77][72][112]
[114][51][57][48][48][77][72][112]
[114][51][57][48][48][77][72][112]
...
Soweit ich weiß, und wieder, mein armes Netzwerkkenntnisse entschuldigen, ich muss irgendwie eine Bestätigung an diesem Sensor zurückschicken, so beginnt es mir die ‚‘ echten ‚‘ Senden von Daten.
Alle Tipps oder Anregungen willkommen!
UDP ist eine sitzungs Sendung. Mit einem Potenzial für mehrere Empfänger des UDP-Pakets von diesem einzelnen Gerät ist ein ACK höchst unwahrscheinlich. Sie sollten die Geräteprotokolldokumente überprüfen und prüfen, ob Beispielcode verfügbar ist. – JamieMeyer