问题标签 [cppcms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
334 浏览

c++ - 带有 MS vc 2013 Express 的 CppCMS Hello World 应用程序

我想用 CppCMS 构建一个“Hello World”应用程序,但现在我不得不面对一些问题。我尝试了 MS 解决方案,现在我知道它不受支持。但同时我也注意到有一些不存在的包含,例如: cppcms/config.h 被裁判但不存在。

如何在我的 Studio 2013 中使用 CppCMS?我应该使用makefile吗?我可以使用 MS makefile 项目吗?如果您分享一个示例 makefile 并命令我应该如何运行它,我会很高兴。

编辑,第二部分:添加额外(奖金)问题:-)

为什么我找不到支持 C++ 的共享主机?我想让我的 C++ 站点公开,但我注意到没有对此的支持...... :-( 如果你有一个由你创建的应用程序,你可以在哪里使用?我应该自己做一个服务器(我需要静态 IP) )?

新的:

感谢评论,现在我对第一部分有很多好主意,但我仍然无法编译 lib 本身。我也安装了所有东西和cmake。配置失败,有很多红线:-)

我正在使用 CMAKE GUI。我的第一个问题是:

我只是从未听说过类似的东西,我想我这边有问题。我只是下载了 lib 及其依赖项。

我正在使用 MS VC 2013。

谢谢, 塔马斯

0 投票
0 回答
295 浏览

c++ - Postgresql 和 cppcms

我想从 feed 表中显示一些东西,比如 temperature_c/f 和 web 上的时间,因为我使用 JavaScript 和 CppCms(C++ 框架到 web 应用程序)

我有一个错误,不知道如何解决。

这是 feed.cpp 类中的一个函数,在那个函数之后我得到了错误

此方法接收城市 ID 和会话

id 是 int 和 autoincrement 值,参考MAX(id)这个返回查询特定城市的最新更新

有错误

解释:

我使用此方法 ( fprintf (stderr, "\nnum 6\n");) 来查找错误位置。我们可以看到错误出现在 num 5 到 num 6 之间。

就在这儿:

我该如何解决?

0 投票
0 回答
357 浏览

performance - 使用 CppCMS 执行 Post 请求

我们正在使用 CppCMS 服务器,当发布消息达到一定大小的一些 kB 时,它的发布请求性能非常低。这已经发生在初学者教程的最小服务器示例中,稍作修改:

奇怪的是,服务器在主函数中只花费了几毫秒,但两次调用之间只有一两秒。

  1. 这段时间CppCMS在做什么?
  2. 更重要的是,这个时间怎么能缩短?
  3. 是线程池的问题吗?
  4. 是否对帖子消息进行了一些昂贵的处理?(我读过一些关于压缩的东西)可以关闭或加速吗?

9 个带有 8 到 10kB 之间的 XML 文件的 post 请求需要 9 秒,甚至不需要处理这些请求。使用 node.js 服务器执行相同的请求不到半秒。我尝试了不同的配置并阅读了很多 dox 和帖子,但找不到可以解释这些长时间空闲时间的东西。欢迎任何帮助。

提前谢谢你,彼得

0 投票
1 回答
184 浏览

html - CppCMS 支持 unicode 吗?

我一直在寻找具有高性能目标的 C++ Web 框架。我发现了,我不确定它是否支持 Unicode,因为我看到它的一些示例使用 std:string 进行渲染。有没有人将它与 Unicode 输出一起使用?

0 投票
1 回答
607 浏览

c++ - cppcms 不能工作

我的操作系统:Mac OSX
我的 gcc 版本:4.2.1
我的 clang 版本:llvm 6.1.0
cppcms 版本:1.0.5
我下载了 cppcms 框架并安装了框架。命令:cd cppcms-1.0.5

未发现错误。我写了一个名为hello.cpp的cpp文件。程序是这样的:

我的 config.js:

编译命令:

我访问了网址“ http://localhost:8008/hello ”,然后浏览器显示给我

怎么了?如何解决问题。

0 投票
0 回答
441 浏览

jquery - jQuery Ajax 超时使 http 请求保持打开状态,导致长轮询应用程序出现内存泄漏

tl;dr:jQuery 的 ajax 函数似乎不会关闭超时的 http 请求。因此,每个长轮询请求打开的每个套接字都不会关闭,并且由于打开的套接字数量,服务器最终会拒绝连接。 是否可以在这些连接超时后关闭它们,这样我就可以开始下一次长轮询,而不必担心无休止地打开 [并随后孤立] 连接?如果不是,我的长轮询方法哪里出错了?

注意:我意识到这可能是预期的行为,但我在跟踪所有活动部件并隔离我对问题的误解时做了一个噩梦。您可以提供的任何指导/说明将不胜感激。

我开发了一个简单的应用程序来演示使用 lighttpd、cppcms(一个 C++ Web 框架)和 jQuery 的基于推送的通知。客户端这样做:

然后服务器执行类似的操作(我在 python Flask 微框架中进行了类似的测试,结果与以下 cppcms 实现相同):

在ajax调用超时时检查Firefox开发者工具的network选项卡表明HTTP请求从未返回响应或状态码,但控制台在ajax调用的“错误”回调中显示超时失败。对 Chrome 的开发人员工具的网络选项卡进行的类似检查表明,当我们达到超时时,请求被“取消”。检查服务器上打开的套接字文件描述符表明已超时的套接字处于 CLOSE_WAIT 状态,并且它们保持这种状态,直到我关闭服务器并再次备份。

感谢您花时间阅读所有这些内容,如果您需要更多信息来帮助我在此处隔离问题,请告诉我。在此期间,我将继续挖掘。

0 投票
1 回答
183 浏览

c++ - CppCMS 嵌入式 404

我正在尝试使用 CppCms 的简单示例,并且我想执行与 Web 应用程序根相关的所有应用程序。我不想执行相对于脚本路径的应用程序。例如本地主机:8080/script-path/relative-path-to-my-application,而不是这个,我希望我的应用程序的路径如下:localhost:8080/relative-path-to-my-application。我想使用 CppCMS-Embedded 来执行这个应用程序。我正在尝试一个超级简单的示例,但没有成功。我一直在尝试根 url ( http://localhost:8080/ ) 时都会收到这样的 404 错误:

在我制作的代码和配置文件下面:

主.cpp:

配置.js:

索引.tmpl

内容.h

我的配置中缺少什么?为什么 CppCMS-Embedded 不为 Web 应用程序根路由。谢谢。

0 投票
0 回答
78 浏览

embedded - 嵌入式 CPPCMS - 同步轮询

在嵌入式环境中,我有一个不可避免的轮询要求——检查 I2C 设备的状态。

有没有一种简单的方法可以在 CPPCMS 服务循环中完成它?另一种设计将是一个与 CPPCMS 服务异步通信的单独进程 - 但将其置于共享应用程序中具有优势。

例如,我想每 200 毫秒安排一次回调。

0 投票
1 回答
592 浏览

c++ - 不可预测的文件描述符泄漏

好的,所以我正在调查这似乎是 FD 泄漏。

这是一个用 C++11 编写的 linux CppCms 应用程序,我使用发送大约 250 个请求/秒的工具对其进行测试。

测试持续 30 分钟,有时我会收到 lighttpd(server.c.1446) [note] sockets disabled, out-of-fds错误。

我已经开始使用watch "sudo ls /proc/<lighttpd>/fd/ | wc -l; echo /;sudo ls /proc/<myApp>/fd/ | wc -l;echo /; sysctl fs.file-nr"

结果似乎表明一切都很好,直到不是。FD 是稳定的 (50 - 100) 并且随机达到 lighttpd max-fd 数。如果涉及我的应用程序,我认为它会更早发生(而不是在 200000 次成功请求之后)

我已经使用 valgrind 尝试查看任何内容,但我发现了这一点:

我不能说这是否是真正的文件描述符泄漏,但似乎如此。

我的代码有问题吗?CppCms 有问题吗?你有没有遇到过这样的问题?您是否有任何提示来检测谁将文件描述符句柄从 100 增加到 8000 ?

0 投票
1 回答
142 浏览

c++ - CppCMS URL 映射问题

我正在玩 CppCMS,我已经让静态的“Hello World”工作了。但是,我很难让 URL 映射正常工作。我确定我很傻,并且遗漏了一些明显的东西。

我遇到的问题是 URL 似乎不起作用。当我尝试访问 :8080/home/smile 时,我只会收到默认的“主”页面。

这是代码:

任何帮助表示赞赏。