コード例 #1
0
 public async Task IssueCommand(IRemoteCameraCommand command, IPAddress endpoint, int port)
 {
     using (var socket = new StreamSocket())
     {
         await socket.ConnectAsync(new HostName(endpoint.ToString()), port.ToString());
         var writer = new DataWriter(socket.OutputStream);
         await _formatter.Write(writer, new CommandJson
         {
             CommandName = command.Name,
             Command = command.Serialize()
         });
         await writer.StoreAsync();
     }
 }
コード例 #2
0
        public async Task IssueCommand(IRemoteCameraCommand command, IPAddress endpoint, int port)
        {
            using (var socket = new StreamSocket())
            {
                await socket.ConnectAsync(new HostName(endpoint.ToString()), port.ToString());

                var writer = new DataWriter(socket.OutputStream);
                await _formatter.Write(writer, new CommandJson
                {
                    CommandName = command.Name,
                    Command     = command.Serialize()
                });

                await writer.StoreAsync();
            }
        }
コード例 #3
0
        public async Task IssueCommand(IRemoteCameraCommand command)
        {
            var bad = new Queue<IPAddress>();

            foreach (var ip in _knownEndpoints)
            {
                try
                {
                    await IssueCommand(command, ip.Key, ip.Value);
                }
                catch
                {
                    bad.Enqueue(ip.Key);
                }
            }

            foreach (var badIp in bad)
            {
                int unused;
                _knownEndpoints.TryRemove(badIp, out unused);
            }
        }
コード例 #4
0
        public async Task IssueCommand(IRemoteCameraCommand command)
        {
            var bad = new Queue <IPAddress>();

            foreach (var ip in _knownEndpoints)
            {
                try
                {
                    await IssueCommand(command, ip.Key, ip.Value);
                }
                catch
                {
                    bad.Enqueue(ip.Key);
                }
            }

            foreach (var badIp in bad)
            {
                int unused;
                _knownEndpoints.TryRemove(badIp, out unused);
            }
        }