昨天我把自己的第一个开源项目revolver代码提交到了GitHub上,revolver是一个C++开发的LINUX网络服务框架。这个代码算是我从2012年到现在的积累,开源的目的是希望高手指正问题和分享自己的一些经验,我会持续改进和优化,也希望更多的地方使用revovler。revolver框架除了基础的网络库封装以外,还是实现了网络连接管理、服务单元管理、消息隐射、协议自动化等,可以快速基于它进行业务开发。以下我介绍下revolver的下载、编译和目录结构。
下载:
revolver是通过github进行提交开源的,git url:https://github.com/yuanrongxi/revolver,可以通过相对应的git命令和工具获取到源程序。
目录:
以上是revolver的目录结构,根目录下包含/cmake /common /daemon /test /protocol_analysis五个目录
cmake
是在LINUX下编译的CMAKE工具脚本,在LINUX下先安装cmake工具。
common
是revolver的核心代码目录,其中包括基础库存revolver工程,可靠UDP(rudp)工程,核心封装core工程,服务扩展silencer工程,JSON封装目录。所有的工程文件在WINDOWS下可以通过vs 2010进行打开编译。
daemon 是revolver的精灵服务,daemon是个服务精灵守卫。可以通过VS 2010进行编译
test
大部分的单元测试和例子测试代码,test工程是revolver的单元测试代码工程,可以通过开启测试函数测试相对应的模块。sample_server是一个服务例子,可以与daemond一起进行工作。rudp sender是RUDP的发送端例子工程,rudp reciver是RUDP接收端例子工程。如果有什么疑问可以通过对应的测试程序帮助理解。
protocol analysis
协议翻译程序工程,工程可以用 vs2010进行编译,暂时不提供LINUX下的编译,是由金山的zhurw提供的,主要是将中间的协议描述脚本翻译成C++ / LUA /AS / JAVA等语言,方便协议的调试,以后我会专门开个主题,介绍协议翻译的原理和实现方式。
编译:
在linux,g++最好用g++ v 4.7以上的版本,先用git命令
git clone https://github.com/yuanrongxi/revolver
下载完毕后
cd revolver/cmake
输入cmake编译命令
cmake .
make
就可以完成了。
在WINDOWS下编译使用VS 2010在各个目录下有对应的工程文件,可以方便编译,就不再介绍了。
分享到:
相关推荐
创建一个新的Revolver : r = Revolver.new(3) #=> #<Revolver> 创建具有独特元素的Revolver : r = Revolver.new(3, true) #=> #<Revolver> 或者,您可以从现有阵列创建Revolver : Revolver.from_array([*1....
它将为您解决 Revolver 的所有依赖项,无需单独下载。 如果您不熟悉它,我强烈建议您! 当然,您仍然可以采用老式的方法并在项目中的任何位置/unzip。 只需确保您也对 Revolver 的硬依赖项执行相同操作: 和Bean ...
为了弥补标准方法的僵化和注释负担,我们解决了少数镜头分割的问题:给定很少的图像和很少的像素监督,可以对任何图像进行相应的分割。 我们建议使用引导网络,该网络可以从任何数量的监督中提取潜在的任务表示形式...
blue_revolver
报亭左轮手枪互动式信息亭的chrome扩展程序。 此扩展程序会定期加载具有给定URL的新标签页,并提供各种选项来锁定Chrome,以防止用户逃脱浏览器,同时仍允许他们与加载的页面进行交互。 请注意,无法阻止用户表单...
左轮手枪动态更改所用BRSTM播放器的脚本该脚本主要用于Smash Custom Music,仅在此处发布以存档源代码。
左轮手枪 这是一个连接到Virto Commerce开源电子商务API的Android应用。 它使用Kotlin编程语言实现。 参考API在此处 。 此应用将具有以下功能 浏览目录 获取产品详细信息(文本,图像) 获取新产品 ...
特征: - DesignMantic - Advance Tab Revolver允许您添加和删除您选择的URL。您也可以选择从当前打开选项卡列表中添加一个网站。 - 您可以设置所有选项卡的标准暂停时间,也可以为每个选项卡分配不同的暂停时间。 -...
$ npm install react-native-revolver-view $ yarn add react-native-revolver-view 其他依赖项: $ npm install react-native-reanimated react-native-gesture-handler @react-native-community/masked-view ...
这个扩展允许你保持你的决议完好无损,精美。 支持语言:English (United States)
chrome-左轮手枪插件 Chrome插件的前叉,可自动重新加载和切换标签页 在此处查看原始项目: :
语言:English (United States) 此扩展程序可以使您的分辨率保持完好无损。
抽象精品ppt模板blue_revolver022
语言:English 左轮手枪标签-Kangal版 使用“ Kangal”功能自动旋转打开的标签。 此版本特别为Yiğido制作。 每个小时的第58分钟,您可以显示一个有关Sivas或Kangal的网站。...会议纪要和网站可以自定义。 最好的祝福。
左轮手枪webpack插件 Webpack插件,用于从目录列表解析相对路径。 信息 当使用require或import包含文件时,Webpack本身不支持更改文件的源目录。 该插件提供了指定Webpack在尝试解析相对路径之前应从中读取的目录...
var Revolver = require ( 'react-image-revolver' ) ; React . render ( Revolver ( { images : [ '/img1.jpg' , '/img2.gif' , '/img3.png' ] , // array of img urls interval : 1000 // cycle interval in ms...
Cookie-revolver框架为J2EE Web应用程序提供了双重身份验证安全性,即“我知道的东西”(用户ID /密码)和“我拥有的东西”(加密的一次性cookie)。
语言:English 自动刷新salesforce仪表板,报告并通过打开的选项卡进行轮换。 由Abaav 自动刷新Salesforce仪表板,报告并在打开的选项卡中轮换
安装$ npm install --save resolver-revolver 由于这非常通用,因此下面是一个示例,该示例NODE_ENV或系统环境解析NODE_ENV ,如果其他所有方法均失败,则将其设置为development的默认值。 如果您想尝试这些示例,请...
从Google获取信息。 一个简单的扩展,可以在单个选项卡中一一显示网站。 当您只想使用一个选项卡的chrome Cast时很有用。 例如,锁定您的计算机后,chrome投射功能将停止投射整个桌面,但将继续流式传输单个选项卡。...