繁体   English   中英

Erlang中的Apple Push Notification(或Ruby中改进了?)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM