Exemplo n.º 1
0
        /// <summary>
        /// Starts listen for incoming udp messages from specified address and device
        /// </summary>
        /// <param name="timeout">Time to listen</param>
        /// <param name="address">Address to listen</param>
        /// <param name="device">Device to listen</param>
        /// <param name="messageIds">Id of messages to wait answer for</param>
        /// <param name="parseLater">If true - collects packets for further parsing</param>
        protected void StartListen(int timeout, IPAddress address, string device, string[] messageIds, bool parseLater)
        {
            System.Diagnostics.Trace.WriteLine(string.Format("{0} Discovery StartListen", DateTime.Now));
            System.Diagnostics.Trace.Flush();

            _listenAddress = address;
            _listenDevice  = device;

            _listenMessages.Clear();
            if (messageIds != null)
            {
                foreach (string messageId in messageIds)
                {
                    if (!string.IsNullOrEmpty(messageId))
                    {
                        _listenMessages.Add(messageId);
                    }
                }
            }
            _packetsReceived.Clear();
            _parseLater = parseLater;

            _stopListenEvent.Reset();
            _socket.Listen();
            _connectionThread = new Thread(CloseConnection);

            System.Diagnostics.Trace.WriteLine(string.Format("{0} StartListen, timeout={1}", DateTime.Now.ToLongTimeString(), timeout));
            System.Diagnostics.Trace.Flush();
            _connectionThread.Start(new CloseConnectionState()
            {
                Timeout = timeout
            });
        }
Exemplo n.º 2
0
        /// <summary>
        /// Starts listen for incoming udp messages from specified address and device
        /// </summary>
        /// <param name="timeout">Time to listen</param>
        /// <param name="address">Address to listen</param>
        /// <param name="device">Device to listen</param>
        /// <param name="messageId">Id of message to wait answer for</param>
        protected void StartListen(int timeout, IPAddress address, string device, string messageId)
        {
            System.Diagnostics.Trace.WriteLine(string.Format("{0} Discovery StartListen", DateTime.Now));
            System.Diagnostics.Trace.Flush();

            _listenAddress = address;
            _listenDevice  = device;
            _listenMessage = messageId;
            _stopListenEvent.Reset();
            _socket.Listen();
            _connectionThread = new Thread(CloseConnection);

            System.Diagnostics.Trace.WriteLine(string.Format("{0} StartListen, timeout={1}", DateTime.Now.ToLongTimeString(), timeout));
            System.Diagnostics.Trace.Flush();
            _connectionThread.Start(new CloseConnectionState()
            {
                Timeout = timeout
            });
        }