Чат на Erlang и Web Sockets

Apr 16, 2010 19:22

Данный чат в первую очередь задумывался как демонстрационный пример для моего доклада про веб сокеты на РИТ-2010. То есть в первую очередь он создавался чтобы протестировать веб сокеты, проверить как будет работать event-driven система, состоящая из брауера, сервера и среды передачи данных. То, что это все хорошо работает по отдельности - уже давно ( Read more... )

event-driven, чат, эрланг, erlang, chat, web sockets

Leave a comment

lionet April 17 2010, 06:53:19 UTC
> -define(ub(X), unicode:characters_to_binary(X)).

Этих вот unicode:XYZ функций не надо вовсе. Смысла в них ноль.

> Conn_Manager = spawn(fun() -> conn_manager() end),

Conn_manager = spawn(fun conn_manager/0),

> register(conn_mgr, Conn_Manager),

erl -man gen_server, уверяю, это просто для головы, и лучше для дела.

> continue_work() ->
> receive

Этот процессинг не имеет таймаута (after timeout), что есть плохо. Кроме того, при hot code upgrade процесс, крутящий этот цикл, будет грязно падать.

> process_flag(trap_exit, true),

Гораздо корректнее использовать erlang:monitor, и ловить 'DOWN', чем ловить 'EXIT' после выставления trap_exit. Так как erlang:monitor внизу и делается, рекомендую выбросить process_flag(trap_exit, true) вовсе из кода.

> conn_manager(CurrentState) ->

Опять же, дешевле, нагляднее и лучше использовать gen_server.

> Res = lists:keytake(Pid, 2, CurrentClients),

Дикая позиционщина. Что за "2"? Я бы весь блок внизу переписал так:

{set_opts, Pid, Session ( ... )

Reply

elisitsky April 17 2010, 08:10:21 UTC
Огромное спасибо, Лев ( ... )

Reply

cy6erbr4in April 19 2010, 21:39:02 UTC
я форкнул проект на гитхабе, поковыряю на предмет "включения" otp :) как будет что интересного, дам знать...

Reply

elisitsky April 20 2010, 08:21:53 UTC
Обязательно расскажите.
Я тоже решил двигаться в сторону OTP, пока некоторые детали не ясны, но будем разбираться.

Reply

ext_3009843 December 15 2016, 10:13:57 UTC
А как нужно изменить скрипт, чтобы сделать возможным одключение БД на postgreSQL? Вы все еще занимаетесь Erlangом? как успехи с OTP?

Reply

elisitsky May 28 2017, 15:09:48 UTC
Добрый день!
Поздно заметил ваш комментарий - сейчас вообще не бываю в ЖЖ.
Нет, сейчас не занимаюсь Erlang - все же слишком узкая и специфичная ниша. Лично мне сейчас Golang видится более перспективным.

Reply


Leave a comment

Up