![个人头像照片](https://ucc.alicdn.com/avatar/img_b911f8386a2dfaf438f238395836e575.jpeg)
C/C++ 高性能网络通信,hi-nginx 通用服务器,mongols 服务器基础设施库
mongols是C++ 服务器基础设施库,它最近更新提供了反向代理和负载均衡功能。 以下为用mongols代理两个nodejs后端(8888和8889)并与nginx压测对比图: 压测显示mongols已经完全超过nginx。
nginx是多进程web服务器的优秀代表。 本文要用mongols-1.2.3实现一个比nginx更快的多进程的web服务器。 mongols是C++ 服务器基础设施库, 它的主要特性如下: tcp 服务器 http 服务器 websocket 服务器 web 服务器 leveldb 服务器 lua 服务器 sqlite 服务器 medis 服务器 以上所有服务器均通过epoll机制实现,并且支持多线程化和多进程化。
evpp是360出品的一个网络库,基于libevent,进行了许多改造,对c++11友好。据称比libevent性能要好。 到底有多好呢?360开发人员有自己的测试,信不信由你。 evpp源码下有个httpecho演示,我把它改为hello,world的样子: void DefaultHandle...
用websocket做聊天系统是非常合适的。 mongols是一个运行于linux系统之上的开源c++库,可轻松开启一个websocket服务器。 首先,build一个websocket服务器。 #include //websocket server int main(int,char**){ int port=9090; const char* host="127.0.0.1"; mongols::ws_server server(host,port); server.run(); } 才几行,这就成了吗?没错!不信你用wsdump.py测试下。
hi-nginx-1.4.9已经发布。 更新: 支持javascript后端开发 修复脚本搜索的一个bug 从这一版开始,hi-nginx开始支持javascript,这意味着把javascript应用于后端开发,将不再只有nodejs这唯一的途径和方法。
hi-nginx-1.4.9已经支持javascript,这意味着把javascript应用于后端开发,将不再只有nodejs这唯一的途径和方法。由于java本身对javascript的极好支持,使得在hi-nginx中,可以直接在javascript脚本中使用java——相当于把java嵌入了javascript。
支持多种编程语言混合开发web应用的通用服务器hi-nginx-1.4.2已经发布了。 此次发布包含多项重要更新: 支持python2和3,通过编译选项--with-http-hi-python-version 删除boost.
hi-nginx通过redis管理会话。 要开启管理,需要做三件事。 第一件开启userid: userid on; userid_name SESSIONID; userid_domain localhost; userid_path /; userid_expires 300s; 这个功能是nginx内建的,可以直接使用。
hi-nginx会自动处理表单,所以,在hi.py框架里,要做的就是直接使用这些数据。 表单数据一般用GET和POST方法提交。hi-nginx会把这些数据解析出来,放在form成员变量里。对python来说,要做的就是使用has_form和get_form方法取出想要的数据。
一致地utf-8编码,非常重要。对python2而言,尤其如此。 如果在hi-nginx中使用的是python2,同时又需要无障碍地使用中日韩等文字,那么一定不要忘记使用: #-*- coding:utf-8 -*- 同时,任何模板文件,也应该使用utf-8编码。
模板引擎的使用在web开发中是不可避免和必要的。hi.py框架使用jinja2作为模板引擎。 为了使用hi.py提供的jinja2引擎,首先需要引入它: from hi import hi,template 然后就是使用它: 1 @app.
hi.py 的提供的路由装饰器接受两个参数,第一个参数指定动态路由的正则模式,第二个参数指定同意的http请求方法列表。 比如: 1 @app.route(r"^/client/?$",['GET','POST']) 2 def client(req,res,param): 3 res.
现在,有了起步的基本认识,现在需要一个可以媲美flask或者bottle的简洁易用的路由功能,可以用装饰器写法任意映射 URLs 到代码。 这个,并不难。首先,来一个叫做hi的模块:hi.py: 1 import re 2 3 class hi: 4 def __init__(self): 5 self.
hi-nginx既是 web 服务器,也是 application 服务器。它开源在https://github.com/webcpp/hi-nginx 它是NGINX的超集,因此与编译NGINX稍有不同。