Как поделиться сеансом с приложением Erlang - PullRequest
2 голосов
/ 05 июня 2010

Мне нужно создать чат на Erlang.

Есть ли способ разделить сеанс между приложениями PHP и Erlang?

1 Ответ

2 голосов
/ 06 июня 2010

Да, для этого потребуется несколько условий:

  1. Как Erlang, так и PHP должны полагаться на идентификацию сеансов или HTTP с именем cookie, обмениваемым через один и тот же домен (или подстановочный домен).
  2. Оба должны иметь возможность читать формат, в котором хранится сеанс (приходит на ум json, или peb_connect () в php)
  3. Вы должны хранить только «простые» структуры в сеансе, которые могут быть понятны обоим (массивы, хеш-карты, строки, целые числа, анонимные объекты будут толкать его немного)
  4. Они должны использовать механизм блокировки для чтения / записи, который могут использовать оба (иначе у вас есть шанс, что новые значения будут перезаписаны устаревшими данными)

Для PHP это означает, что вы должны написать свой собственный обработчик для сеанса (см. http://nl2.php.net/manual/en/function.session-set-save-handler.php),, насколько я понимаю, Erlang может использовать то же самое (ну, реализация Erlang зависит от вас).

Может использоваться мост Erlang / PHP, но, строго говоря, он не является необходимым, он может сэкономить некоторую работу.

Также примечание: http://code.google.com/p/mypeb/wiki/ErlangAsSessionStorageForPHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...