lim 跨平台网络通信框架开源项目

我要开发同款
匿名用户2019年09月25日
44阅读
开发技术C/C++
所属分类高性能网络开发库、程序开发
授权协议未知

作品详情

lim是一套轻量级的高性能通信框架,基于C/C++语言开发,采用全异步通信模式,内部集成了HTTP、HTTPS、WebSocket通信协议实现,目前支持Windows和Linux平台。

示例代码:

#include<lim/base/logger.h>#include<lim/base/bootstrap.h>#include<lim/base/server_channel_session.h>#include<lim/http/http_bootstrap_config.h>#include<lim/http/http_response_session.h>namespacelim{ classHttpServer:publicHttpFullRequestSession{ public:   HttpServer(SocketChannel&channel,BootstrapConfig&config):HttpFullRequestSession(channel,config){    RegistHandleRouter("POST","/test",std::bind(&HttpsServer::PostTestHandle,this,std::placeholders::_1));    }   virtual~HttpsServer()=default;     private:   boolPostTestHandle(Message&request){    HttpFullResponsehttp_response(200,"OK","HTTP/1.1");    intlength=http_response.Content().Content().WriteBytes("{\"aa\":8}",strlen("{\"aa\":8}"));    http_response.Headers().SetHeaderValue("Connection","close");    http_response.Headers().SetHeaderValue("Content-Type","application/json");    http_response.Headers().SetHeaderValue("Content-Length",std::to_string(length));    WriteHttpResponse(http_response,[&]{      Signal(ExecuteEvent::KILL_EVENT);//发送完毕关闭连接    });    returntrue;   } };}usingnamespacelim;intmain(){ Logger*logger=Logger::GetLogger("demo"); SocketChannel::InitEnviroment();   //服务监听器&处理线程池 EventLoopserver_event_loop; ExecuteThreadserver_execute_thread;   //客户端连接监听器&处理线程池 EventLoopGroupworker_event_loop_group; ExecuteThreadGroupworke_execute_thread_group;   HttpBootstrapConfigconfig(worker_event_loop_group,worke_execute_thread_group,server_event_loop,server_execute_thread); //设置处理超时时间 config.SetTimeout(30*1000);  //异常回掉函数 config.SetLoggerCallback([&](LoggerLevellevel,conststd::string&message){  TRACE_ERROR(logger,"%s",message.c_str()); });   Bootstrapstrap=Bootstrap(config); strap.Bind<ServerChannelSession<HttpServer>>("0.0.0.0",8095); while(1){  std::this_thread::sleep_for(std::chrono::milliseconds(1000*5)); } return0;}

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论