public ServerController() { CameraHeartbeat += async f => { await Task.Yield(); }; _cameras = new ConcurrentDictionary <string, RemoteCameraModel>(StringComparer.OrdinalIgnoreCase); _ping = new PingUtility(50123); _sender = new CommandSender(); _listener = new CommandListener(); _listener.RegisterHandler <ReportingCommand, RemoteCameraModel>(HandleReporting); _uploader = new UploadListener(); _heartbeat = new HeartBeatListener(); _heartbeat.DataRecieved += async f => { await CameraHeartbeat(f); }; }
public CameraClientRemoteControl(CameraClientViewModel model, ClientController camera) { _model = model; _camera = camera; _camera.RecordingStarted += _camera_RecordingStarted; _camera.RecordingCompleted += _camera_RecordingCompleted; _heartbeat = new HeartbeatTimer(() => Task.FromResult(0)); _ping = new PingUtility(50123); _ping.HandlePing += ReportCamera; _listener = new CommandListener(); _listener.RegisterHandler <RecordCommand, RecordCommand>(RemoteRecord); _listener.RegisterHandler <EnableHeartbeatCommand, EnableHeartbeatCommand>(EnableHeartbeat); _listener.RegisterHandler <UpdateResolutionCommand, RemoteResolutionModel>(UpdateResolution); }
public async Task <bool> Check(IPAddress address) { Debug.Log($"Check : {address}"); var checkSum = 0; for (var i = 0; i < checkNum; i++) { var result = await PingUtility.Ping(address); if (result) { checkSum++; } else { Debug.Log($"Failed : {address}"); return(false); } } Debug.Log($"Success : {address}"); return(true); }