Последние три недели я пытался создать веб-приложение для чата, и у меня возникли проблемы с любым маршрутом (техника / технология программирования), который я выбрал для его создания. Ниже я объяснил проблемы, с которыми я столкнулся во всех из них. Просьба представить любые ваши идеи в этом.
ASP.NET-AJAX
- Первая проблема заключается в том, что не совсем в режиме реального времени
- Если клиент подключается к серверу чата каждые x секунд (постоянная отметка времени), он не будет работать в режиме реального времени, если x не очень очень меньше
- Если x очень маленький, например, 1 секунда, и если в сети одновременно 1000 пользователей, я думаю, что это действительно ударит сервер чата и вызовет проблемы с масштабируемостью / производительностью
WCF-Duplex
К сожалению, я потратил немало времени, пытаясь создать дуплексную службу WCF, которая обслуживает всех клиентов и вызывает клиента через канал по мере необходимости. Но недавно я узнал , что дуплексный обратный вызов WCF не будет работать с ASP.NET (поскольку http является типом запроса и ответа). Я следил за этой замечательной статьей по созданию дуплексного сервиса.
Комета / ReverseAjax / HTTP-сервер Push
Я чрезвычайно новичок в этой технике и удивляюсь, насколько хорошо она может масштабироваться. После моего первого взгляда на эту технику программирования здесь в вики и самой первой статьи о комете Алекса здесь я узнал, что клиент всегда поддерживает открытое соединение (долгоживущие вызовы ajax) на сервер, который может использоваться сервером для передачи «интересных событий, происходящих на сервере» в браузер (клиент). Так насколько хорошо это может масштабироваться? Что, если максимальное число открытых соединений превышает IIS или другие подобные проблемы?
Jabber-сервер / клиент (XMPP)
Я вижу, что большинство известных приложений чата, которые можно увидеть в Интернете, используют Jabber. Я также узнал, что писать Jabber-сервер с нуля - утомительная задача. У меня есть отдельное хранилище профилей пользователей для приложений. Могу ли я легко интегрировать это с Jabber? Любые серверы Jabber с открытым исходным кодом, которые я могу разместить в частном порядке? (Я видел много инструментов с открытым исходным кодом для простой сборки клиента)
Любая предоставленная информация очень ценится.
Спасибо
NLV