【问题标题】:php server to server push communicationphp服务器到服务器推送通信
【发布时间】:2012-05-23 08:07:36
【问题描述】:

到目前为止,我有 2 台服务器(A,B),B 正在拉 A 获取信息。现在我正在寻找将信息从 A 推送到 B 的可能性。

由于 B 仍会不时拉动,因此推动可能会结束“一劳永逸”。

我能想到的最简单的解决方案是 w webservice over HTTP 将信息从 A 发布到 B。还有其他有效的 (php) 解决方案吗?

套接字连接怎么样?这是 php 的有效方法吗? 或者从 HTTP 切换到 UDP(开销更少?)

您知道哪些基准测试?

感谢您的时间和帮助

【问题讨论】:

    标签: php web-services sockets server-push


    【解决方案1】:

    假设纯 PHP:

    HTTP POSTing 在我看来是最简单的解决方案。

    使用套接字连接,除非你有一个无限期监听 B 的套接字(我什至不会考虑这个),否则无论如何你都需要 A 到 POST B 来设置一个套接字。

    如果您要传输大量数据,我认为套接字连接可能会有一些好处,但如果不是,我会坚持使用 POST。

    【讨论】:

    • 感谢您的快速响应。您能否解释或指出一些信息,为什么“无限期聆听”是个坏主意?那么除了 HTTP 之外的其他协议呢?
    • 我想我当时有我的网络头脑。就将 PHP 作为 Apache 模块运行而言,保持线程监听的效率很低。但是,作为 CLI 运行它会否定这一点,并假设数据的频率足够高,使得让套接字保持打开状态比每次打开/关闭更有效,那么这似乎是明智的。想想还有谁可以连接到您的服务器/如果端口无限期开放,他们会造成什么损害?
    • 就 TCP/UDP 而言,这取决于您的数据到达的重要性(好吧,如果 B 仍然像您的帖子中那样轮询,那么这很低 - 尽管我不明白您为什么d 打扰 PUSHing 和 polling)以及 UDP 的好处(更低的开销)是否值得(取决于数据的频率和大小)。
    猜你喜欢
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 2016-05-20
    相关资源
    最近更新 更多