gpt4 book ai didi

sockets - 如何通过网络维护两个应用程序之间的持久网络连接?

转载 作者:行者123 更新时间:2023-12-03 11:56:58 26 4
gpt4 key购买 nike

最近,我的管理层向我提出了一个有趣的问题——我很确定我正在告诉我的老板正确的信息,但我真的想确保我告诉他们正确的信息。

我被要求开发一些具有此功能的软件:

  • 一个位置的应用程序每秒都在不断地处理实时数据,并且只有在底层数据发生任何变化时才会生成数据。
  • 如果数据已更改,则通过网络将结果发送到另一个盒子
  • 保持两台机器之间的持久连接,如果由于某种原因网络连接中断,则更改远程框

  • 据我了解,我想我需要做一些关于做某种 TCP/IP 套接字级别的东西的阅读。这样,如果断开连接,远程位置将意识到它收到的数据可能是陈旧的。

    然而,管理层似乎非常相信这可以使用 SOAP 来完成。我的印象是 SOAP 或多或少是客户端从服务器启动过程并通过 HTTP 协议(protocol)获得一些结果的一种方式。我假设这个错了吗?我还没有找到很多关于 SOAP 如何解决此类问题的信息。

    我觉得我办公室周围的很多人都在使用 SOAP 作为流行语,这对 SOAP 的实际含义和能力产生了一些混淆。

    任何有关如何完成此任务的想法将不胜感激!

    最佳答案

    我认为 SOAP 是错误的工具。 SOAP 是用于交换结构化数据的规范。对于您的问题,最简单的方法是编写一个程序来传输数据并确定另一端是否还活着。套接字是一个很好的方法。网上有很多socket编程教程。选择您的语言,然后询问 Google 先生。编写几个演示程序来教自己它是如何工作的。询问您是否有更具体的问题。

    对于这个问题,你需要一个发送者和一个接收者。发送者在收到数据时发送数据,接收者等待数据并在数据到达时将其交给。先让它工作。接下来,添加心跳;定期发送一条消息,上面写着“我还活着”。接下来让它工作。你需要确定你想要的确切行为——如果双方都向另一端发送心跳,你愿意等待心跳的最长时间,以及如果心跳停止到达,你会采取什么行动。网络连接可能会掉线,另一端可能会崩溃,另一端可能会挂起,也许还有其他情况您应该考虑(例如,如果实时数据是无意义的怎么办?)。弄清楚如何处理每个条件,并编写错误处理代码。对其进行测试,并提供一份文档。

    关于sockets - 如何通过网络维护两个应用程序之间的持久网络连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2701971/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com