从web服务器调用c/c++库

Calling c/c++ library from webserver

本文关键字:c++ 调用 web 服务器      更新时间:2023-10-16

我对web编程很陌生。我正在开发一个基于HTML5的用户界面,它应该使用用C/c++编写的中间件。我该怎么做呢?我不想使用任何浏览器特定的功能/库与中间件通信。我们可以在服务器端做同样的事情,然后将信息发送回浏览器吗?如果是这样,我如何与服务器端的中间件实现这种通信?

提前感谢您的回复。

注意:我计划使用Tomcat作为loop back中的服务器

如上所述,您可以使用CGI(例如,perl脚本)作为Tomcat服务器和c++中间件之间的中间人。我还认为可能工作得很好,并且我计划在不久的将来使用我自己,是使用boost::asio,并以示例HTTP服务器为例,并修改它以使用您的中间件。然后可以使用AJAX和JSON在Tomcat服务器和c++服务器之间进行通信。

还有一个东西叫做pion server http://www.pion.org/projects/pion-network-library

它允许您用自己的c++编写整个服务器,并抽象掉大多数常见任务。

Wt "web toolkit"库(发音为"诙谐")可能会让您感兴趣。本质上,所有 web方面都被照顾到这一点,所以绝对没有中间件。以下是引自网站的介绍:

该API以小部件为中心,使用经过良好测试的桌面GUI模式为网络定制的开发。对于开发者来说,它提供了抽象特定于web的实现细节,包括客户端-服务器协议,事件处理,图形支持,优美降级(或渐进增强)和URL处理。

与许多基于页面的框架不同,Wt是为创建而设计的同时具有高度交互性的有状态应用程序(充分利用WebSockets和Ajax等技术)并且可访问(支持纯HTML浏览器),使用automatic优雅的退化或渐进的增强。这些都是自然和简单的Wt将需要不切实际的数量否则:使用动画切换小部件,同时通过干净的url被搜索机器人完美地索引,或者有一个持久的聊天小部件始终打开,甚至可以在遗留中工作如Microsoft Internet Explorer 6.

它可以在自己的web服务器上运行(基于Boost组件),也可以链接到标准的web服务器库。

我写了一篇关于如何将它与我编写的另一个c++组件(RInside,它允许将R嵌入到c++应用程序中)集成的简短博客文章,通过将两者结合起来,我有了一个简单的'webapp',将R功能导出到web。

你可以通过Javascript进一步增强它,但这是我没有研究过的任何细节