Я хочу создать простое приложение чата, которое не использует явный сервер. Основное требование заключается в том, что пользователь может одновременно общаться со многими друзьями (например, по Skype и т. Д.). Я не имею в виду конференцию здесь, просто несколько отдельных чат-окон.C# P2P chat application design
В настоящее время я хочу только приложение для обмена сообщениями в локальной сети, но я был бы признателен, если бы дизайн был прост в распространении на интернет-соединения.
Интересно, какой дизайн подходит для такого приложения.
- Что вы думаете о решении, где каждое приложение пользователь имеет
TcpListener
(неявный сервер) и мультипликаторTcpClient
объектов - по одному для каждого друга, он/она разговаривает. - Как насчет аутентификации удаленных пользователей? Если в чате приложение генерировать сертификат (X509 или СТГ) или просто предположим, что пользователи в локальной сети будут доверять :)
сердечным приветом,
Я думаю, что ваш ар прокси, поскольку соединения TCP идут, звучат. –
Ваше «решение» относительно TcpListener и TcpClient не является жизнеспособным/масштабируемым из-за его недружественности межсетевого экрана/NAT. –