2016-09-19 8 views
0

UdpClientオブジェクトでNLogメッセージを受信できるのは、ローカルホストではなく127.0.0.1です。私NLog.configファイルからlocalhostはNLogのUdpClientでは動作しません

目標は以下のとおりです。

// 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); 

私は上記のすべてを試してみました:私は含めて私のUdpClientオブジェクトを開く/設定するためのさまざまな方法を、試してみました

<!-- 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"/>--> 

いくつかのバリエーションがあります。

別のNLogクライアントであるLog2Consoleと連携するため、configファイルでlocalhostを使用できることがわかりました。私はターゲット名(MyLogger < => Log2Console)だけ異なる設定ファイルにLog2Consoleの行があります。 127.0.0.1とlocalhostの両方がLog2Consoleで動作します。

私は何かばかげたことをしていますが、それを見ることはできません。

答えて

0

おそらくlocalhostは、IP V6アドレス(::1)を解決するので、リスナーもそれを聞く必要があります。

udp4://localhost:7777を使用してIP V4を強制的に使用することができます。the docs

関連する問題