2016-09-19 2 views
0

Ich kann NLog Nachrichten mit meinem UdpClient Objekt über 127.0.0.1 empfangen, aber nicht localhost.localhost funktioniert nicht mit UdpClient für NLog

Die Ziele von meiner NLog.config Datei sind:

<!-- this works --> 
    <target name="<MyLogger" type="Chainsaw" address="udp://127.0.0.1:7777"/> 

    <!-- this does not work, no messages received --> 
    <!--<target name="MyLogger" type="Chainsaw" address="udp://localhost:7777"/>--> 

ich verschiedene Weise versucht haben, zu öffnen/konfigurieren mein UdpClient Objekt, zB:

// this way 
_udpClient = new UdpClient(settings.Port); 

// this way 
_endPoint = new IPEndPoint(IPAddress.Any, settings.Port); 

/// this way 
_udpClient = new UdpClient(); 
_endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), settings.Port); 
_udpClient.Client.Bind(_endPoint); 

Ich habe alle oben versucht und eine Reihe von Variationen.

Ich weiß, ich kann localhost in der Konfigurationsdatei verwenden, da es mit einem anderen NLog-Client, Log2Console funktioniert. Ich habe Zeilen für Log2Console in meiner Konfigurationsdatei, die sich nur durch den Zielnamen unterscheiden (MyLogger < => Log2Console). Sowohl 127.0.0.1 als auch localhost arbeiten mit Log2Console.

Ich fürchte, ich mache etwas Dummes, aber ich kann es nicht sehen.

Antwort

0

wahrscheinlich localhost wird die IP V6-Adresse (::1) auflösen, so dass der Hörer sollte auch auf diesen zu hören.

Sie könnten udp4://localhost:7777 verwenden, um IP-V4 zu zwingen, siehe the docs