Я думаю, что путаница возникает из-за того, что серверный процесс Erlang должен оставаться активным для каждого отдельного клиента.Может, но Mochiweb не делает этого по умолчанию, если я не ошибаюсь.Это просто порождает новый процесс для каждого запроса.Если вы хотите иметь долгоживущее двунаправленное соединение с клиентским сервером <->, вы можете сделать это, например:
- , отправляя идентификатор клиента с каждым запросом и сопоставляя его с долгоживущим процессомна сервере.Процесс будет поддерживать состояние серверов, и вы можете вызывать методы на нем.Это все еще тянуть и не толкать, хотя.
- использовать реализации веб-сокетов.Не уверен, есть ли у Mochiweb, но есть и другие HTTP-серверы Erlang, такие как Misultin и Yaws.Я полагаю, что для сетевой системы чата веб-сокеты отлично подойдут.