用于 C++ 的简单网络服务器
Simple webserver for c++
我的 C++ 服务器应用程序需要打开一个端口 80 才能输出一些 json
(供其他网络应用查看状态)
我看到了一些可以从 C++ 生成的网络服务器 class,但它们看起来相当复杂。我不需要任何 request/response,只需要一个字符串,我会按时间更新,然后显示在端口 80 上。
我的服务器应用程序 运行 在一个循环中,所以我想这应该是一个线程,它时不时地获取字符串更新。请指出正确的方向,我的 planning/thinking.
完全错了
最简单的解决方案可能是使用网络服务器来提供静态文件并让您的应用程序在需要时更新内容。
只需注意服务器的配置,告知客户端不应缓存内容。
另一个比较重要的部分是创建一个新文件,并在文件完成后将其移动到目标(已发布)位置(以避免客户端下载可能无效的部分文件)。
您可以在 C++ 应用程序中使用一些 HTTP 服务器库,例如 libonion (or perhaps Wt or libmicrohttpd)。
请注意 libonion
通常在其他线程中运行 Web 服务,因此您需要注意同步(例如使用互斥锁),并且还能够提供静态内容和静态文件。
我的 C++ 服务器应用程序需要打开一个端口 80 才能输出一些 json (供其他网络应用查看状态)
我看到了一些可以从 C++ 生成的网络服务器 class,但它们看起来相当复杂。我不需要任何 request/response,只需要一个字符串,我会按时间更新,然后显示在端口 80 上。
我的服务器应用程序 运行 在一个循环中,所以我想这应该是一个线程,它时不时地获取字符串更新。请指出正确的方向,我的 planning/thinking.
完全错了最简单的解决方案可能是使用网络服务器来提供静态文件并让您的应用程序在需要时更新内容。
只需注意服务器的配置,告知客户端不应缓存内容。
另一个比较重要的部分是创建一个新文件,并在文件完成后将其移动到目标(已发布)位置(以避免客户端下载可能无效的部分文件)。
您可以在 C++ 应用程序中使用一些 HTTP 服务器库,例如 libonion (or perhaps Wt or libmicrohttpd)。
请注意 libonion
通常在其他线程中运行 Web 服务,因此您需要注意同步(例如使用互斥锁),并且还能够提供静态内容和静态文件。