2009-08-11 2 views
0

Введение: Я хочу создать чат-клиент, с которым пользователь может общаться в браузере, и я использую протокол xmpp. Из-за недоступности веб-сокета HTML5 я пытаюсь использовать flash xmlsocket.Мгновенное сообщение в браузере

Проблема: я не могу подключиться к серверу через браузер. Я не уверен, почему, но я думаю, что это проблема конфигурации сервера.

Вопрос: Какой из лучших jabber-серверов подходит для этой работы?

+0

Проблема и вопрос на данный момент не совпадают. –

ответ

2

Скорее всего, это вопрос разрешения. Либо это, либо вы только что настроили неверный хост/порт для подключения. Flash не разрешается подключаться к другим хостам, чем тот, который он получил от себя. Вы должны явно разрешить соединения флэш-памяти на стороне , принимающей сторону запроса (так на сервере чата, к которому вы подключаетесь). Google для crossdomain.xml, чтобы получить дополнительную информацию.

1

ejabberd звучит как подходящий вариант для вас. ejabberd - сервер xmpp, написанный в erlang, и используется довольно широко. Известно, что многие из известных веб-сервисов im, таких как www.meebo.com и т. Д., Работают на ejabberd. Это позволяет вам устанавливать другие транспорты, которые позволят вам разговаривать с другими протоколами, такими как yahoo, msn, icq и т. Д.

Вы также можете ознакомиться с библиотекой сценариев действий xiff, запустив в реальном времени. Это клиентская библиотека xmpp в скрипте действий. Если вы используете эту библиотеку, вам просто нужно будет реализовать компоненты ui.

1

Hum ... flash в порядке, но вы бы лучше использовали что-то вроде BOSH, которое в основном является уровнем HTTP поверх XMPP.

Ejabberd был бы хорошим сервером, так как он поддерживает BOSH, я не знаю о OpenFire или Tigase (но я бы сказал, что они это делают). Другие серверы должны быть тщательно рассмотрены, потому что у них, похоже, нет «динамичного» сообщества.

Вам понадобится много Javascript, и для этого я могу порекомендовать StropheJS, который, вероятно, является самой лучшей библиотекой сегодня.

Мы создали клиент MUC (многопользовательский чат) с именем Aristochat, который работает в браузере недавно на Superfeedr. Вы можете найти код на Github и example here.

+0

Я уже пробовал, он работает нормально, но проблема заключается в том, что клиент все время пингует сервер каждые n секунд, то есть проблема для пропускной способности сервера. – Sareuon

+0

Что вы попробовали? Бош, или Аристочат? И да, у вас будет соединение с сервером от любого клиента (используете ли вы черту, флеш или что-нибудь еще ...), потому что по существу чат - это «подключенный» протокол. И я действительно не понимаю, что пропускная способность будет значительной. –