Оскільки всі мої чат месанжери виявились надзвичайно складними для навчальних потреб, я створив v0 версію Чат Месанжера Сохацького, яка називається MAIL і призначена у якості дидактичного матеріалу для курсу по теорії масового обслуговування, на якій побудована телекомунікаційна платформа Erlang від Ericsson. Ця версія займає 100 рядків, використовує таку саму базу даних як WhatsApp (mnesia), а також пропонує текстовий протокол для взаємодії через WebSockets. Після цього можна переходити до v1 версії мультікаст безсерверного месанжера, яка називається MESSAGE.
$ mix deps.get
$ iex -S mix
$ wscat -c ws://localhost:8043/text
Connected (press CTRL+C to quit)
> AUTH maxim
< USER maxim
> SEND maxim Cool
<
< Try HELP
> BOX
< LIST
01768259545304545000:01768259561348799000:01768259264220927000:OK
01768259561348799000:01768259571052232000:01768259545304545000:HELP
01768259571052232000:01768261109986527000:01768259561348799000:HELO
01768261109986527000:01768262248606447000:01768259571052232000:END
01768262248606447000::01768261109986527000:Cool
> HELP
< AUTH <user>
| SEND <user> <msg>
| BOX
| CUT <id>.
>
- Namdak Tonpa
OM A HUM