From 7594cea7dc1b3fef5be77fa06c71a954d024723d Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Thu, 26 Mar 2020 08:41:04 +0200 Subject: Added support for public IP address on SignalR connection. Fixed issue with ExternalBridgeScanner. Added Connection Time. --- .../Tango.MachineService/Hubs/ExternalBridgeHub.cs | 30 +++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'Software/Visual_Studio/Web/Tango.MachineService') diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Hubs/ExternalBridgeHub.cs b/Software/Visual_Studio/Web/Tango.MachineService/Hubs/ExternalBridgeHub.cs index 4dd04d33e..9b7f734d2 100644 --- a/Software/Visual_Studio/Web/Tango.MachineService/Hubs/ExternalBridgeHub.cs +++ b/Software/Visual_Studio/Web/Tango.MachineService/Hubs/ExternalBridgeHub.cs @@ -43,6 +43,8 @@ namespace Tango.MachineService.Hubs _externalBridges.RemoveAll(x => x.MachineInfo.SerialNumber == machineInfo.SerialNumber); _sessions.RemoveAll(x => x.ExternalBridge.ConnectionID == Context.ConnectionId); + machineInfo.IPAddress = GetIpAddress(); + _externalBridges.Add(new ExternalBridgeInfo() { MachineInfo = machineInfo, @@ -69,7 +71,7 @@ namespace Tango.MachineService.Hubs public String CreateSession(String serialNumber) { var externalBridge = _externalBridges.SingleOrDefault(x => x.MachineInfo.SerialNumber == serialNumber); - + if (externalBridge != null) { var existingSession = GetSession(); @@ -157,5 +159,31 @@ namespace Tango.MachineService.Hubs return null; } + + protected string GetIpAddress() + { + try + { + string ipAddress; + object tempObject; + + Context.Request.Environment.TryGetValue("server.RemoteIpAddress", out tempObject); + + if (tempObject != null) + { + ipAddress = (string)tempObject; + } + else + { + ipAddress = ""; + } + + return ipAddress; + } + catch + { + return String.Empty; + } + } } } \ No newline at end of file -- cgit v1.3.1