private async Task RespondToV2Message(string messageText, IpEndPointInfo endpoint, Encoding encoding) { var parts = messageText.Split('|'); var localUrl = await _appHost.GetLocalApiUrl().ConfigureAwait(false); if (!string.IsNullOrEmpty(localUrl)) { var response = new ServerDiscoveryInfo { Address = localUrl, Id = _appHost.SystemId, Name = _appHost.FriendlyName }; await SendAsync(encoding.GetBytes(_json.SerializeToString(response)), endpoint).ConfigureAwait(false); if (parts.Length > 1) { _appHost.EnableLoopback(parts[1]); } } else { _logger.Warn("Unable to respond to udp request because the local ip address could not be determined."); } }
private async Task RespondToV2Message(string messageText, EndPoint endpoint, CancellationToken cancellationToken) { var localUrl = await _appHost.GetLocalApiUrl(cancellationToken).ConfigureAwait(false); if (!string.IsNullOrEmpty(localUrl)) { var response = new ServerDiscoveryInfo { Address = localUrl, Id = _appHost.SystemId, Name = _appHost.FriendlyName }; try { await _udpSocket.SendToAsync(JsonSerializer.SerializeToUtf8Bytes(response), SocketFlags.None, endpoint).ConfigureAwait(false); } catch (SocketException ex) { _logger.LogError(ex, "Error sending response message"); } var parts = messageText.Split('|'); if (parts.Length > 1) { _appHost.EnableLoopback(parts[1]); } } else { _logger.LogWarning("Unable to respond to udp request because the local ip address could not be determined."); } }