【问题标题】:Server-Client notifications服务器-客户端通知
【发布时间】:2025-12-05 19:50:01
【问题描述】:

我不知道怎么正确问,但是有我的情况:

我有一些带有一些地址的服务器,例如http://www.somesite1.com。那里有php脚本。 我有用 C++ 编写的桌面应用程序(仅限 Windows,不需要跨平台解决方案)。

我需要了解来自服务器的一些事件 - 服务器必须以某种方式通知应用程序。 我可以同时拥有很多客户(例如 100 000 个)。

问题是我该怎么做? 如何建立从客户端到服务器的连接,然后从服务器到客户端接收通知(如何通知服务器有关应用程序的启动和关闭(连接以接收通知并断开连接以解除通知)?)

我找到了 WebSockets,但我真的不明白如何在 php -> C++ ligament 的情况下使用它们。

我有 C++98/03 标准编译器

谢谢

【问题讨论】:

    标签: c++ windows


    【解决方案1】:

    我认为 Websocket 与您的任务没有任何关系:您需要标准套接字(和 http 库)。

    您的客户端应该打开一个套接字,连接到服务器并使用 GET/POST 方法进行通信。请注意,从服务器向客户端发送数据可能会有点混乱,需要您保持 tcp 连接处于活动状态(对于每个客户端)。

    看看这个 c++ http 库:curl

    或者,如果您想使用标准套接字自己实现 http 协议:boost asio

    【讨论】:

    • 我正在使用 curl 向服务器发送 GET/POST 请求。现在我每隔 dt 秒向服务器发送一次请求并以这种方式更新我的状态,但这不是我需要的