当前位置:  软件>C/C++软件

URL 路由开发包 R3

    来源:    发布时间:2014-12-16

    本文导语:  R3 是一个高性能的 URL 路由开发包,使用 C 语言开发。可将你的路由规则编译成前缀单词查找树。 依赖的软件: autoconf automake check pcre jemalloc graphviz version 2.38.0 (20140413.2041) 规则写法: /blog/post/{id}      use [^/]+ regular expre...

R3 是一个高性能的 URL 路由开发包,使用 C 语言开发。可将你的路由规则编译成前缀单词查找树。

URL 路由开发包 R3[图片]

依赖的软件:

  • autoconf

  • automake

  • check

  • pcre

  • jemalloc

  • graphviz version 2.38.0 (20140413.2041)

规则写法:

/blog/post/{id}      use [^/]+ regular expression by default.
/blog/post/{id:d+}  use `d+` regular expression instead of default.

编程示例:

#include 

// create a router tree with 10 children capacity (this capacity can grow dynamically)
n = r3_tree_create(10);

int route_data = 3;

// insert the route path into the router tree
r3_tree_insert_pathl(n , "/zoo"       , strlen("/zoo")       , NULL, &route_data );
r3_tree_insert_pathl(n , "/foo/bar"   , strlen("/foo/bar")   , NULL, &route_data );
r3_tree_insert_pathl(n , "/bar"       , strlen("/bar")       , NULL, &route_data );
r3_tree_insert_pathl(n , "/post/{id}" , strlen("/post/{id}") , NULL, &route_data );
r3_tree_insert_pathl(n , "/user/{id:\d+}" , strlen("/user/{id:\d+}") , NULL, &route_data );

// let's compile the tree!
r3_tree_compile(n);


// dump the compiled tree
r3_tree_dump(n, 0);

// match a route
node *matched_node = r3_tree_match(n, "/foo/bar", strlen("/foo/bar"), NULL);
matched_node->endpoint; // make sure there is a route end at here.
int ret = *( (*int) matched_node->route_ptr );

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 大家开发web application时一般用什么做url的前缀?如sample
  • 微信支付开发教程(一)微信支付URL配置
  • java命名空间java.net类url的类成员方法: url定义及介绍
  • 如何根据一个url得到其下url??? iis7站长之家
  • java命名空间java.net类urlconnection的类成员方法: url定义及介绍
  • URL url=new URL(/tech-soft-c-cpp/"http_/156.66.212.15_8080/djs/servlet/DbServlet"/index.html);这句有什么错误?
  • java命名空间java.net类url的类成员方法: getdefaultport定义及介绍
  • 获取上一页面的URL和本页的URL的方法
  • java命名空间java.net类url的类成员方法: getprotocol定义及介绍
  • 如何防止没有权限的人由于知道url,直接输入url,来察看文件呢?
  • java命名空间java.net类url的类成员方法: samefile定义及介绍
  • 如何根据一个url得到其下url???
  • java命名空间javax.print类docflavor.url的类成员方法: gif定义及介绍
  • jquery 取url参数及在url后添加参数的例子
  • java命名空间javax.print类docflavor.url的类成员方法: postscript定义及介绍
  • 有谁会用linux里面的wget?有一个参数是-i 后面加上url地址文件,我不明白什么叫url地址文件,那位大侠告诉我?
  • java命名空间javax.print类docflavor.url的类成员方法: pdf定义及介绍
  • jquery获取url及url参数的方法
  • java命名空间javax.print类docflavor.url的类成员方法: jpeg定义及介绍
  • 各位高手:本人初学JDBC对各个数据连接时的URL的书写还很模糊,有谁可以提供以下各数据库的连接发,由其是URL的书写。
  • java命名空间javax.print类docflavor.url的类成员方法: png定义及介绍
  • 在配Samba的時候,在windows的網絡芳鄰里能看到電腦名稱,在url里輸入\加IP也能訪問,但是在網絡芳鄰里直接雙擊或是在URL里輸入\加電腦名
  • java命名空间java.net类url的类成员方法: touri定义及介绍
  • java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3