Exemple #1
0
        /// <summary>
        /// Process received messages
        /// </summary>
        /// <param name="stateInfo">A <c>TaskInfo</c> object containing the received message data</param>
        protected void ParseResponse(object stateInfo)
        {
            if (!IsListening)
            {
                return;
            }

            TaskInfo t = (TaskInfo)stateInfo;

            Messages.MessageBase msg = Parser.Parse(t.Data);
            if (msg == null)
            {
                return;
            }

            HandleMessage(msg, t.EndPoint);
        }
Exemple #2
0
        //internal IAsyncResult Send(Messages.MessageBase message, IPEndPoint endpoint, AsyncCallback receiveCallback)
        //{
        //    message.Host = DiscoveryAddress.ToString();
        //    message.Port = Port;
        //    message.Content = Content;

        //    using (UdpClient u = new UdpClient())
        //    {
        //        byte[] buffer = message.ToArray();
        //        u.ExclusiveAddressUse = false;
        //        u.Send(buffer, buffer.Length, endpoint);

        //        if (receiveCallback != null)
        //            return u.BeginReceive(receiveCallback, new UdpState(u));
        //        else
        //            return null;
        //    }

        //}

        //internal void Send(Messages.MessageBase message, IPEndPoint endpoint)
        //{
        //    message.Host = DiscoveryAddress.ToString();
        //    message.Port = Port;
        //    message.Content = Content;

        //    var buffer = message.ToArray();
        //    _Listener.Send(buffer, buffer.Length, endpoint);
        //}

        //protected void CheckClient()
        //{
        //    if (Port == 0 || Port < 0)
        //        throw new ArgumentOutOfRangeException("Port");

        //    if (_Listener == null)
        //        _Listener = new UdpClient(Port);
        //}

        public void Send(Messages.MessageBase message, IPEndPoint endpoint)
        {
            Send(new Messages.MessageBase[] { message }, endpoint);
        }