Erlang 中的 Apple 推送通知(或 Ruby 中的改进?)

2024-03-25

目前,我的服务器上有一个使用 Ruby 运行的 Apple 推送通知。我想在 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 不可行,那么我不介意坚持使用 Ruby 推送,只要我能保持连接活跃,也许还可以通过 Erlang 进行监督。有谁知道这是否可能?


This 关于 Erlang 的 Apple 推送通知的问题 https://stackoverflow.com/questions/1757171/how-to-send-a-push-notification-using-erlang可能对这个也有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Erlang 中的 Apple 推送通知(或 Ruby 中的改进?) 的相关文章

  • Devise 和 Ruby on Rails:尝试登录时如何解决“Completed 401 Unauthorized”问题

    我正在尝试将 Devise gem v4 7 2 与 Ruby on Rails v6 0 3 2 一起使用 单击 登录 按钮时 我收到以下输出 Started POST users sign in for 1 at 2020 11 21
  • 拆分为不同的换行符

    现在我正在做一个split在字符串上并假设用户的换行符是 r n像这样 string split r n 我想做的事分为两部分 r n要不就 n 那么正则表达式将如何分割其中的任何一个呢 你试过了吗 r n The 使得 r选修的 用法示例
  • 我在“宝石列表”中看到宝石,但“没有要加载的文件”

    我是Ubuntu10 sudo apt get install ruby1 9 1 full 然后下载 ruby gem 1 3 7 的源并安装它 sudo ruby setup rb 然后 例如 安装 sinatra sudo gem i
  • Ruby 中类单例方法的方法查找

    我的印象是obj method导致 ruby 寻找method thusly Look in obj的单例类 查看包含的模块obj的单例类 Look in obj的班级 查看包含的模块obj s class 对类的超类重复步骤 3 和 4
  • gsub的时间复杂度

    一根长绳子s仅包含0 and 1 这段 Ruby 代码计算了有多少个1有 s gsub 1 count Big O 表示法的时间复杂度是多少 有没有一个工具可以进行计算 据我所知 没有一个通用工具可以计算任意代码的 Big O 表示法 这将
  • 如果这段代码不是玩笑,那么它到底是如何工作的呢?

    class Tree def initialize d d d end def to s l r gt d end def total d is a Numeric d 0 email protected cdn cgi l email p
  • 验证错误消息中不包含字段名称

    如果我有以下验证 validates inclusion of dob in gt Date new 1900 Time now years ago 18 to date message gt You must be 18 or older
  • android 如何在用户点击通知时启动活动?

    我想在用户单击通知时打开活动 我知道这个问题是重复的 但找不到解决方案 这就是我所做的 NotificationCompat Builder mBuilder new NotificationCompat Builder this setS
  • 在 rake 任务中运行 capybara

    如何在 Rake 任务中运行 Capybara 功能 例如 visit http google com 谢谢你 在任务中尝试这样的事情 require capybara require capybara dsl Capybara curre
  • 保护客户端 API 的安全

    我正在为基于 JavaScript 的游戏构建服务器端 API 和客户端库 其中必须确保两个非常重要的功能的安全 用户每次游玩都必须扣款 我们必须确保提交的分数是玩家实际获得的分数 解决第一个问题看起来很简单 在每次游戏开始时 我们都会调用
  • 在 selenium webdriver 中使用 phantomjs 代理

    我正在尝试在 selenium webdriver 2 25 的 ruby 1 8 7 脚本中使用 PhantomJS 1 9 1 配置代理 我看到了一些使用 Firefox 的例子 我用这个浏览器成功地做到了 我使用了这段代码 profi
  • 如何使用 ActionText 显示嵌入视频

    我正在尝试在 Rails 6 上使用 ActionText 显示嵌入式视频 无论是在 WYSIWYG Trix 中还是在渲染的内容中 但是 ActionText 渲染器会过滤所有原始 html 代码 并强制我使用 JS 在渲染内容中显示 i
  • 找到具有公共键的哈希数组的最大值?

    我有两个数组 每个数组包含任意数量的具有相同键但不同值的哈希值 ArrayA value abcd value length 4 type 0 value abcdefgh value length 8 type 1 ArrayB valu
  • 如何触发并忘记子进程?

    我有一个长时间运行的进程 我需要它来启动另一个进程 该进程也会运行很长一段时间 我只需要开始它 然后就完全忘记它 我设法通过从 Ruby 编程 一书中获取一些代码来完成我需要的操作 但我想找到最好 正确的方法 并了解发生了什么 这是我最初得
  • 如何默认选中collection_check_boxes?

    我试图默认选中这一行 In db t text committed 我尝试过的变体checked true 但也许我忽略了一些事情 这是Gist http gist github com RallyWithGalli c66dee6dfb9
  • 如何在中间人的部分内容中渲染部分内容

    我有一些 Haml 部分 其中许多包含样板 container row col lg 12 当我尝试将其抽象出来时 partial site section I get syntax error unexpected keyword end
  • Rails 形式的当前日期

    我正在学习 Rails 并在书外进行一些探索 并随着知识的增长创建一个具有附加功能的简单应用程序 我正在编写一个简单的博客应用程序 我在表单中添加了一个名为 日期 的字段 我不希望这是一个字段 我希望它从服务器获取日期并将其自动放入数据库中
  • 如何使用 Fabrication 定义特质

    我正在学习如何使用制造 http www fabricationgem org getting started in Rails我们决定更换所有factory girl代码与制造 假设我们有这段代码factory girl FactoryG
  • 如果使用推送服务关闭应用程序,应用程序会崩溃:parse.com

    我将清单中的接收器替换为我的
  • 设置 put 的行尾字符

    我有一系列想要打印的条目 Being arr数组 我只是用来写 puts arr 然后我需要使用DOS格式的行尾 r n 所以我写道 arr each e print e r n 这工作正常 但我想知道是否有一种方法可以指定要使用的行尾格式

随机推荐

  • 子表单根据主表单的ID新建记录

    首先我想说 我是 Access 的初学者 我将感谢我能得到的每一点帮助 我创建了一个表单 显示一个带有三个子表单的表中的记录 记录和子表单具有一对多的关系 我现在正在为每个子表单创建按钮 以便在子表单中创建新记录 我已成功制作按钮并使用宏生
  • 为什么在函数堆栈上返回值不安全

    我在阅读 bruce eckel 时遇到了以下段落 他试图解释为什么函数在堆栈上返回值不安全 现在想象一下如果一个普通函数尝试在堆栈上返回值会发生什么您不能触及返回地址上方堆栈的任何部分 因此该函数必须将值推入返回地址下方 但是当执行汇编语
  • EF核心中的持久数据层,动态EF。将 EF 与模型分开

    我想将 EF 层与我的模型分开 我需要一个 EF Builder 将我的模型发送给它 如下所示 我找到了 mongodb 的代码 但我需要 EF core builder AddMongo builder AddMongoRepositor
  • awk 或 sed CSV 文件操作

    a004 1b North at006754 a004 1c south atytgh0 a004 1d east atrthh a010 1a midwest atyu a010 1b south rfg67 我想打印第一列和第二列 没有
  • 使用 grunt 构建的 Angular 应用程序中缺少资产

    我使用 Yeoman 和 AngularJS 以及所有与之相关的东西 如 Grunt 和 Bower 构建了一个应用程序 当使用本地运行时 一切都完美运行grunt serve 然而 在运行 grunt 并部署应用程序后 有一些丢失的资产
  • 嵌入式 MongoDB 文档在使用 C# 驱动程序保存时未获取 ID

    当我有一个包含文档列表的根文档并且我保存 插入时 根文档总是从 MongoDB 获取 ID 但列表中的文档不会 它们与ObjectId Empty 我不确定我是否做错了什么或者这是否是有意的行为 这是我正在尝试做的事情的一个例子 鉴于课程
  • TSQL 使触发器静默失败

    我在插入后触发器中有一些代码可能会失败 这样的失败并不重要 应该not回滚事务 如何捕获触发器内的错误并让事务的其余部分正常执行 下面的例子说明了我的意思 触发器故意创建一个错误条件 结果是原始插入 1 永远不会插入到表中 Try Catc
  • Bundler 抛出没有这样的文件或目录进行 gem 安装

    在 Gemfile 中 gem backup git gt git github com tenmiles backup git ref gt develop n 本地和分阶段 bundle install确实成功完成了 在生产中 当bun
  • Swift 3:如何捏合缩放和旋转 UIImageView?

    我真的很难在网上找到教程以及已经回答的问题 我已经尝试过它们 但它们似乎不起作用 我的视图中心有一个 UIImageView 我目前可以点击并将其拖动到屏幕上任何我想要的位置 我希望能够通过捏合来缩放和旋转此视图 我该如何实现这一目标 我已
  • TrafficStats 函数始终返回 -1

    当我尝试使用 TrafficStats 类检索流量数据时 TrafficStats getTotalRxBytes and TrafficStats getTotalTxBytes 即使我使用浏览器加载某些网页 函数也总是返回 1 我从一些
  • 在 Java 中使用 Apache Common 的 WhoisClient

    我正在尝试使用 WhoisClient 对象进行 WHOIS 查询 但效果不佳 我的代码非常简单 String WHOIS SERVER WhoisClient DEFAULT HOST int WHOIS PORT 43 String h
  • __getattr__ 和 __getattribute__ 之间的区别

    我试图理解何时定义 getattr or getattribute The python 文档 http docs python org reference datamodel html highlight getattribute obj
  • 使用 Android Application 类来保存数据

    我正在开发一个相当复杂的 Android 应用程序 该应用程序需要大量有关该应用程序的数据 我想说总共大约 500KB 对于移动设备来说这个数据大吗 据我所知 应用程序中 更准确地说是活动中 的任何方向变化都会导致活动的完全破坏和重新创建
  • 如何对 USB/HID/蓝牙适配器进行逆向工程。使用什么工具?

    需要对蓝牙USB鼠标适配器进行逆向工程 并使用鼠标板测量距离 并用绘图库 http matplotlib org 我发现这些工具可以帮助完成此任务 Linux lsusb usbmon usbhid转储 rfcomm hidrd 转换 xx
  • Windows 版 Github - ssh-agent.exe 使用高 CPU + 100% 磁盘?

    我刚刚在我的 Windows 8 1 计算机上安装了适用于 Windows 的 Github 它似乎工作正常 只是我的计算机性能急剧下降 看看任务管理器我看到ssh agent exe正在使用一个常数25 CPU 毫无疑问 100 是我的核
  • 是否可以检查您的系统上是否在 Rust 中定义了 C 宏?

    我知道 Rust 中的 libc 包包含许多在 Rust 中使用的 C 标准宏和函数 但它也声明它不关心系统之间的可移植性 我将一些大量使用 C 预处理器宏的代码从 C 移植到 Rust 并且仅在定义了给定宏的情况下才包含一些代码 在本例中
  • 检查 SQL 查询是否在 PDO 中执行[重复]

    这个问题在这里已经有答案了 在 mysql query 中 我们可以通过执行以下操作来检查查询是否已执行 query yourdbconnection gt fetch array mysql query SELECT FROM tbl n
  • Python使用GET从API检索多页数据

    我正在尝试使用Python 3requests get从中检索数据这一页 https api safecast org en US measurements locale en US 使用其 API 我有兴趣使用以下方法从所有页面检索数据A
  • 如何填写列表(类型)?

    我正在尝试验证输入的多维数组 我需要在将数据发送到准备好的语句之前验证数据类型 我正在做一个Function可用于检查从接收到的多维数组的数据类型WebMethodajax 调用 以多维数组作为参数和列表Types 作为另一个来检查列 我正
  • Erlang 中的 Apple 推送通知(或 Ruby 中的改进?)

    目前 我的服务器上有一个使用 Ruby 运行的 Apple 推送通知 我想在 Erlang 中使用一个 因为我想使用一个主管来监视它 有人有任何代码可以帮助我吗 这是我的 Ruby 代码 我不喜欢当前实现的一件事是它似乎无法保持连接 它每天