2009-09-14 1 views
4

У меня в настоящее время есть уведомление Apple Push, запущенное на моем сервере в Ruby. Я бы хотел, чтобы я пошел в Эрланг, потому что я хотел бы использовать супервизора, чтобы следить за ним. Есть ли у кого-нибудь код, с которым они могли бы помочь?Уведомление Apple Push в Erlang (или улучшено в Ruby?)

Вот мой код Ruby. Одна вещь, которую я не люблю об этом текущей реализации является то, что он, кажется, не оставаться на связи - это разъединяет 2-3 раза в день, и это, кажется, после того, как я заново, что первый толчок не будет проходить через:

context = OpenSSL::SSL::SSLContext.new 
context.cert = OpenSSL::X509::Certificate.new(File.read(cert)) 
context.key = OpenSSL::PKey::RSA.new(File.read(cert)) 

def connect_sockets(server, context) 
     sock = TCPSocket.new(server, 2195) 
     ssl = OpenSSL::SSL::SSLSocket.new(sock,context) 
     ssl.connect 

     return sock, ssl 
end  

sock, ssl = connect_sockets(server, context) # this is called to initially connect and also reconnect whenever disconnected. 

Если Erlang Push не выполним, я бы не прочь придерживаться своего Ruby до тех пор, пока я могу сохранить свои контакты в живых и, возможно, контролировать его через Erlang. Кто-нибудь знает, возможно ли это?

ответ

0

HTTP-клиент (с поддержкой SSL), который поставляется с Erlang, работает достаточно хорошо (я не могу сказать, что я сражался с ним). Соответствующая документация доступна here.

1) Не забудьте выполнить «inets: start()» в своем приложении, прежде чем пытаться выполнять HTTP-вызовы.

2) В моем (маленьком) опыте запуск модуля «inets» кажется немного сложным: не пытайтесь запустить его в своем модуле диспетчера, иначе ваши серверы не будут работать. Обычно я делаю «inets: start()» в первом серверном модуле моего приложения до того, как будут доступны другие серверы, требующие HTTP.

3) Чтобы выполнить операцию «push», я думаю, вам нужно будет использовать параметр «поток».

+4

Похоже, вы должны создать сценарий загрузки из своего файла dot-app и, конечно, иметь inets как зависимое приложение. – Christian

0

Вы также можете ознакомиться с проектом apn_on_rails .

Если вы придумали реализацию Erlang, пожалуйста, подумайте о том, чтобы поделиться им с нами :).

+0

Наверняка :) Спасибо за Rails lead. – ewindsor

Смежные вопросы