首页 > 解决方案 > 如何在 Rails 服务器上连续监听 UDP 套接字

问题描述

我在 Rails 上设置了一个新服务器,我需要继续监听端口以接收消息并将它们存储在我的数据库中。问题是服务器一直在监听端口,我不知道我可以在哪里写 ruby​​ 中的嗅探器来做到这一点而不会中断。

我在 Node 中使用 express 和 Datagrams 库制作了这个确切的项目,我需要做的就是在始终运行的主文件上创建嗅探器,但我不知道如何在 Rails 上执行此操作。

这是在红宝石中发现的嗅探器

require 'socket.so'
ul = UDPSocket.new
ul.bind("localhost", 4001)
p ul.recvfrom(10)

标签: ruby-on-railsrubysocketsudpruby-on-rails-5

解决方案


Rails 真的不是为此而设计的。但是,您可以从问题中的脚本开始,并使用https://github.com/thuehlinger/daemons使其成为守护进程

然后通过 HTTP/API 与您的 Rails 应用程序对话,或者直接与您的数据库对话。


推荐阅读