如何从不同的服务器运行功能?

Posted

技术标签:

【中文标题】如何从不同的服务器运行功能?【英文标题】:How can I run a function from a different server? 【发布时间】:2013-09-07 03:19:52 【问题描述】:

我在 codeigniter 中有一个模型,它包含一个 ping 服务器并将数据存储在外部服务器中的函数。我正在尝试使用我的主服务器来调用从服务器上的函数。这是函数:

public function check_online($ip, $port)
    if(!$socket = stream_socket_client('tcp://'.$ip.':'.$port, $this->timeout)) 
        return FALSE;

             else 

        return TRUE;
    


非常感谢您的帮助。

【问题讨论】:

如果您正在传递数据,请考虑创建一些不错的 RESTful 服务,或者如果您只需要通知其他盒子的内容,请考虑创建一个 pub/sub。 【参考方案1】:

您所描述的似乎是在另一台机器上远程调用函数。 通常,这需要您在客户端设置函数存根并设置通道。但是由于您使用的是 php,因此您可以使用简单的 POST 请求来完成相同的操作。

这里是一个例子:PHP: Remote Function Call and returning the result?

但是,如果远程函数仅将数据“存储”在(例如)mysql 中,那么我建议您重新设计您的应用程序,这样您就不需要在不同的服务器上使用单独的函数来进行存储手术。

【讨论】:

感谢您的链接。我使用主服务器来执行网站,并使用单独的服务器来完成繁重的工作(Pinging 数千个列表等)

以上是关于如何从不同的服务器运行功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何从不同的类运行关闭视图功能?

如何从不同的服务器连接到 websocket?

如何在服务器上运行不同版本的 git?

如何从两个不同的活动中保存和获取 SQLite 中的数据?

如何从不同的主机连接到 socket.io 服务器?

如何调用在不同集成服务中运行的 informatica 工作流