[Erlang] Передача сокета между модулями
От: C0x  
Дата: 07.05.10 17:09
Оценка:
У меня следующая проблема:
Есть модули А и Б. Модуль А принимает соединения (accept)полученный сокет отдает другому модулю, который делает что-то вроде

loop(#state{
            seedsock = SeedSocket} = State) ->

  inet:setopts(SeedSocket,[{active,once}, {send_timeout, ?PING_TIMEOUT}]),
  receive
    {tcp,SeedSocket, Data} ->
      % тут чтото делается + send
      loop(State#state{condition = ping});
    {tcp_closed, SeedSocket} ->
      ok
  end.


Так вот, почему-то receive не получает входящие tcp пакеты по этому сокету.

PS: На Эрланге программирую всего несколько дней, поэтому не исключаю, что где-то концептуально туплю
PS: А если возможно передавать сокеты между процессами в разных модулях, то возможно-ли передать сокет процессу, который находится на другой физической ноде?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.