Как я могу получить сообщение от client1 к client2 через сервер, используя именованные каналы C#?
У меня есть проект, который содержит консольное приложение C# и клиентское приложение WPF. Цель состоит в том, чтобы любой клиент написал на сервер, а затем сообщение будет отправлено всем подключенным клиентам с сервера. В настоящее время я могу получить много клиентов для подключения к серверу с помощью потоков на стороне сервера. Проблема заключается в том, что когда какой-либо клиент отправляет сообщение, только этот же клиент получает сообщение обратно с сервера. Я пробовал искать помощь в интернете, но не могу найти ничего, что помогло бы мне общаться с сервером со всеми клиентами.
Я попытался создать список подключенных потоков и использовал цикл foreach() для отправки сообщения всем потоковым клиентам, но это не сработало.
Любые советы/помощь/идеи приветствуются. Я не обязательно ищу прямые ответы, может быть, просто помогаю с тем, что нужно для этого, и с последовательностью событий, которые должны произойти.
Спасибо
Что я уже пробовал:
основы работы сервера:
-дождитесь подключения клиента
-ifConnected -> Создать Поток для подключения
-поместите нить в список
-в методе для резьбы: петля ->
-получение ввода streamreader от клиента
-в цикле foreach: напишите клиентское сообщение на консоль сервера и используйте streamwriter для отправки
сообщение для всех потоковых клиентов в цикле foreach
основы работы с клиентами (WPF):
-типы пользователей в сообщении
-когда пользователь нажимает на кнопку Отправить:
- используйте streamwriter для отправки сообщения на сервер
- использовать streamreader, чтобы получить сообщение от сервера
- отображение в текстовом блоке сообщений с сервера
PureNsanity
Есть ли причина, по которой вы должны использовать именованные каналы или ограничены ими?