From 8915395d1b6c72f782f7a588c6fd15bc633e9df5 Mon Sep 17 00:00:00 2001 From: John Holland Date: Wed, 24 Apr 2013 13:33:59 -0400 Subject: [PATCH] StreamMetrics not creating initial connection copy dns / connect logic from UdpMessenger.SendMetrics into UdpMessenger.StreamMetrics --- src/NanoTube/Net/UdpMessenger.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/NanoTube/Net/UdpMessenger.cs b/src/NanoTube/Net/UdpMessenger.cs index b962327..f2bd8a7 100644 --- a/src/NanoTube/Net/UdpMessenger.cs +++ b/src/NanoTube/Net/UdpMessenger.cs @@ -135,12 +135,17 @@ public void StreamMetrics(IEnumerable metrics, int packetsPerSend) try { - data.RemoteEndPoint = new IPEndPoint(Dns.GetHostAddresses(_hostNameOrAddress)[0], _port); + data.RemoteEndPoint = _ipBasedEndpoint ?? + //only DNS resolve if we were given a hostname + new IPEndPoint(Dns.GetHostAddresses(_hostNameOrAddress)[0], _port); data.SendPacketsElements = chunk .Select(bytes => new SendPacketsElement(bytes, 0, bytes.Length, true)) .ToArray(); - _client.Client.SendPacketsAsync(data); + if (!_client.Client.Connected) { + _client.Client.Connect(data.RemoteEndPoint); + } + _client.Client.SendPacketsAsync(data); //Write-Debug "Wrote $(byteBlock.length) bytes to $server:$port" }