Ejemplo n.º 1
0
        public void Publish(ConnectionParameters connParam)
        {
            ConnectionParameters connectionParameters = connParam;
            Socket            server  = connectionParameters.Server;
            string            message = connectionParameters.Message;
            List <Subscriber> subscriberListForThisTopic = connectionParameters.SubscriberListForThisTopic;

            int messagelength = message.Length;

            Console.WriteLine("Try publish");

            if (subscriberListForThisTopic != null)
            {
                foreach (Subscriber sub in subscriberListForThisTopic)
                {
                    Console.WriteLine("Try to publish to " + sub.Client.RemoteEndPoint);
                    try
                    {
                        sub.Client.Send(Encoding.ASCII.GetBytes(message));
                    }
                    catch
                    {
                        Console.WriteLine("Add to Dead letter: " + sub.ID);
                        _deadLetterChannel.Add(sub.ID, message);
                    }
                }
            }
        }