diff --git a/TBF/Rig/Network/Camera/CJMS11/Camera.cs b/TBF/Rig/Network/Camera/CJMS11/Camera.cs index 0e52553cf..784f51c15 100644 --- a/TBF/Rig/Network/Camera/CJMS11/Camera.cs +++ b/TBF/Rig/Network/Camera/CJMS11/Camera.cs @@ -637,7 +637,21 @@ namespace TBF.Rig.Network.Camera.CJMS11 private void EstablishCameraConnection(ref TcpClient camTcpClient, string localIP, int localPort) { - int[] timeoutIntervals = new int[] { 100, 300, 500, 1000 }; + + var connectTask = camTcpClient.ConnectAsync(localIP, localPort); + var timeoutTask = Task.Delay(TimeSpan.FromSeconds(1)); + + var completedTask = Task.WhenAny(connectTask, timeoutTask).Result; + + if (completedTask == timeoutTask) + { + throw new TimeoutException("Connection attempt timed out after 1 second."); + } + } + + private void EstablishCameraConnectionRepeticaly(ref TcpClient camTcpClient, string localIP, int localPort) + { + int[] timeoutIntervals = new int[] { 500, 1000 }; foreach (int interval in timeoutIntervals) {