[英]Apple Push Notification in Erlang (or improved in Ruby?)
我目前在Ruby的服务器上运行一个Apple Push Notification。 我想在Erlang找一个人,因为我想找一个主管来监视它。 有人有可以帮助我的代码吗?
这是我的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不可行,那么只要我可以保持连接保持活动状态,也许可以通过Erlang对其进行监督,那么我就不会介意坚持使用Ruby。 有谁知道这有可能吗?
Erlang附带的HTTP客户端(具有SSL支持)运行良好(我不能说我已经对其进行了测试)。 相关文档可在此处获得 。
1)不要忘记在尝试进行HTTP调用之前在应用程序中执行“ inets:start()”。
2)根据我的经验,启动“ Inets”模块似乎有些棘手:不要尝试在主管模块中启动它,否则服务器将无法工作。 我通常在其他任何需要HTTP的服务器之前,在应用程序的第一个服务器模块中执行“ inets:start()”。
3)要执行“推”操作,我想您需要使用“流”选项。
您也可以签出apn_on_rails项目。
如果您想出一个Erlang实现,请考虑与我们分享:)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.