环境:Linux & CentOS7
cpphttplib是一个跨平台C++开发库,也可以在windows下使用,【github地址】
- 以下是使用httplib库简单的实现了http服务器,Linux下需要关闭防火墙,如果使用阿里云服务器则需要在阿里云控制台添加可用服务端口,1024以下端口只能使用root权限启动
#include"httplib.h"
const char* CONTENT_TYPE = "application";
int main() {
using namespace httplib;
Server server;
server.Get(R"(/hi)", [&](const Request& req, Response& resp) {
std::string str{"hello world!"};
resp.status = 200;
resp.set_content(str, CONTENT_TYPE);
return;
});
server.listen("0.0.0.0", 9094);
return 0;
}
-
运行服务器,访问服务器的9094端口,发现服务器崩掉报错如下:
在windows10+Vs2015运行确是正常的,所以应该是环境的问题,使用的Lambda表达式时C++11新特性,而g++低版本是不支持C++11的所以要更新g++。
-
资源的访问
然后可以放一张图片到服务器上
添加服务的资源根目录wwwroot目录
server.set_base_dir("./wwwroot");
访问http://192.168.157.128:9094/640.jpg就可以看到了//前提是服务器要打开
同理http://192.168.157.128:9094/test.html就可以访问html页面了
相关链接
- cpphttplib的github链接
- C/C++的R()转译技巧
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)