Я предлагаю полностью отключить стратегию и использовать некоторую шину сообщений, которая делает это надежным и настроенным способом.Я доволен ActiveMQ , что даже если он реализован на Java, очень легко работает на C # .Если вы хотите что-то чистое .NET, взгляните на NServiceBus или Сервисная шина Rhino .Я знаю, что вы, вероятно, чувствуете, что задача по отправке сообщений между клиентами проста, и вы можете сделать это самостоятельно, если вы хотите работать надёжно на производстве, лучше, если вы используете чужие усилия и расслабляетесь.Будет очень сложно попытаться устранить ошибки связи, когда приложение будет запущено на сайте клиента.Проигнорируйте это, если вы пишете шину сообщений конкурента, конечно :) Все эти решения позволяют вам выполнить работу, просто прочитав документацию.Сделайте некоторое тестовое приложение «in vitro» перед тем, как заменить производственный код, чтобы получить необходимую уверенность, а затем замените жесткий TcpClient.Я совершенно уверен, что вы можете найти точку усечения, чтобы изолировать только дейтаграммы сообщений, на которых размещается новая стратегия.