从web服务器调用c/c++库
Calling c/c++ library from webserver
我对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进一步增强它,但这是我没有研究过的任何细节
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在c++类上调用void函数
- 为什么 std::unique 不调用 std::sort?
- 调用专用模板时出错"no matching function for call to [...]"
- 选择要调用的构造函数
- C++为什么尽管我调用了void函数,它却不起作用
- 构造函数正在调用一个使用当前类类型的函数
- 变量没有改变?通过向量的函数调用
- 没有为自己的结构调用列表推回方法
- 调用'begin(int [n])'没有匹配函数
- 什么时候调用析构函数
- 如何用参数值调用函数(仅在运行时已知)
- std::cout.imbue()多重调用
- 函数何时会在c++中包含stack_Unwind_Resume调用