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); } } } }