Как обычно осуществляется чат? - PullRequest
1 голос
/ 07 декабря 2010

Рассмотрим случай, когда вы хотите отправлять текст туда и обратно между компьютерами. (Это может быть разговор один-к-одному или разговор один-ко-многим. Компьютеры также могут включать смартфоны.)

Как вообще можно создать это? Например, вы отправляете сообщения, превращая все стороны в легковесные серверы, которые принимают запросы? (Я особенно растерялся из-за этой толкающей части.)

Какие конкретные программы, протоколы и / или структуры используются на практике.

Ответы [ 2 ]

3 голосов
/ 07 декабря 2010

Обычно используют кометы (см. http://en.wikipedia.org/wiki/Comet_(programming)) через такой сервер, как Twisted . См. Выбор и развертывание сервера комет для более глубокого обсуждения.

Другие варианты включают использование RTFMP с использованием сервера, такого как Red5

2 голосов
/ 07 декабря 2010

XMPP - это широко используемый протокол для реализации функций чата, так что вы можете глубже изучить его. IRC еще один, так что читайте на нем.

Кроме этого, обычно есть два способа реализовать чат через HTTP: Длинный опрос и опрос AJAX (каждую секунду или около того).

Следующей «большой» вещью, которая может упростить реализацию и уменьшить пропускную способность, являются веб-сокеты .

Например, чат на Facebook реализован на Erlang.

Как видите, существует множество технологий, сред и языков, доступных для реализации чата, поэтому вам придется провести некоторое исследование и выбрать то, что, по вашему мнению, является лучшим выбором для вас.

...