Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 连接到外部套接字的Heroku上的进程_Sockets_Heroku - Fatal编程技术网

Sockets 连接到外部套接字的Heroku上的进程

Sockets 连接到外部套接字的Heroku上的进程,sockets,heroku,Sockets,Heroku,我的服务器托管在Heroku上。我的应用程序的数据源是我的应用程序的外部数据源。以下是获取数据的方法: 初始化连接到外部第三方服务器的套接字的进程 保存通过此套接字连接提供的数据 现在我的问题是,是否可以在Heroku上启动这样的进程,它需要一直运行,监听外部服务器上的套接字?我认为这可能是Node.js的工作,您可以在Heroku上运行。逻辑流程是使用node.js应用程序连接到第三方服务器,然后在收到数据时触发“回调”方法。然后,该方法可以向Rails服务器发出web请求,请求返回数据 有关

我的服务器托管在Heroku上。我的应用程序的数据源是我的应用程序的外部数据源。以下是获取数据的方法:

  • 初始化连接到外部第三方服务器的套接字的进程
  • 保存通过此套接字连接提供的数据

  • 现在我的问题是,是否可以在Heroku上启动这样的进程,它需要一直运行,监听外部服务器上的套接字?

    我认为这可能是Node.js的工作,您可以在Heroku上运行。逻辑流程是使用node.js应用程序连接到第三方服务器,然后在收到数据时触发“回调”方法。然后,该方法可以向Rails服务器发出web请求,请求返回数据

    有关类似的示例,请查看pubnub node.js示例应用程序:


    Heroku中的进程只能侦听端口80上的HTTP流量。正如andy提到的,Node.js是您在Heroku上运行类似服务的最佳选择。

    如果我理解正确,您需要在Heroku上启动一个连接到外部服务器的后台进程——该进程然后将api中的数据保存到本地

    访问外部服务: 据我所知,Heroku并不限制对外部主机或端口的访问。事实上,我有一个应用程序可以连接到我在mongohq上的mongodb数据库

    长时间运行的进程:这当然可以使用新堆栈。新的cedar堆栈使用了一个称为a的概念,这使得可以将任何脚本(例如ruby、bash、node.js)作为进程运行

    保存数据:Heroku有一个只读文件系统(除了/tmp),因此您需要将来自API的数据保存到数据库中(或类似的地方)