【酷Q开发C#SDK Flexlive框架系列.一】开发及使…

2018-06-17 21:51:33来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

大家好,我是Traceless,很高兴能得到作者 幸福★星 大佬的授权,为大家整理框架使用教程及开发文档,本文及立足于基础科普,包含框架原理介绍、开发环境、使用环境搭建及日常框架使用说明。对开发老鸟来说,说许你只需要翻阅使用环境、插件使用和下载API接口文档即可。
此处要对框架的版权等信息做一个说明:

本框架作者  幸福★星 ,在酷Q社区看到了moecraft大大的C#SDK (原帖地址:https://cqp.cc/t/24088 )后茅塞顿开,借鉴了moecraft大大的UDP转发原理和思路,开发并逐渐完善了Flexlive C#SDK(Flexlive首发帖:https://cqp.cc/t/28865),我也是在看到了这个帖子,异常兴奋,立即加入了框架交流群,和 星哥 开始了一段不得不说的故事。


在框架之初,UDP代理方式的插件接口已经很齐全,苦于需要多开一个UDP中转代理程序,星哥 开始探索新的更方便快捷的方式,星哥 参考群内 CLR 大佬 ?+.史莱姆 (由于找不到大佬的博客园地址和酷Q论坛ID,只能贴上QQ昵称以表感谢)提供的CLR反射思路和DEMO源码,决定再以CLR方式实现官方API接口的调用,达到免除代理的目的,让二次开发者能够像使用CPK插件一样使用Flexlive框架开发的C#插件。
经过几天的努力,功能齐全的测试版于2016年10月27日出炉,28日 星哥 将框架交给我测试基本功能,在一晚的BUG修复后,CLR方式终于实现了全部功能并可以成功使用,29日 星哥 重新整理并添加了框架内容,在群内发布了 UDP/CLR 并行的框架(CLR方式插件不支持调试,日志无法获取,暂无解决办法)。我在日常UDP方式稳定使用的情况下,分别使用双酷Q(1CLR 1UDP)(2UDP)(2CLR)三种形式运行我自己开发的插件并持续使用,均未出现问题。
于是,真正的完整公开测试版,就诞生了!
接下来,Flexlive之路,需要大家帮助星哥共同走下去啦!

下面我们来开始搭建开发环境,使用插件~

 

1.下载框架包,解压Flexlive.CQP.Demo 文件夹。解压目录如下:

2.打开解决方案

 

本框架,使用VS2015编译,.net框架版本3.5,,C++端运行库为VC++2013运行库。

使用VS2012及以上版本,打开解决方案。

 

3.创建新项目,仿照MyPlugin.cs 新建自己的插件主类,仿照FormSettings,新建自己的插件设置页面,仿照CSharpPlugins项目,向自己的项目添加引用。注意这里的仿照,新手请务必将所有方法和事件全都复制粘贴到新的项目中,大佬可以无视这句话。

(此处不多加累赘,这都不会,建议多读读基础数据再来开发插件,或者……加入我们的交流QQ群吧:8621436 嘿嘿嘿)

叮叮叮,下面有两个使用技巧:

①打开自己的插件项目的属性页面-生成事件-如图加入代码:

 

 

文字版:

xcopy  /C /I /R /Y  $(TargetPath) $(TargetDir)CSharpPlugins\

xcopy  /C /I /R /Y  $(TargetPath) $(SolutionDir)Publish\CSharpPlugins\


②打开自己的插件项目的属性页面-生成-如图进行如下配置(具体视情况而定,支持浏览自定义目录):

 

 

这两个技巧可以达到,编译时将编译的插件DLL生成在指定目录,并同时复制到CSharpPlugins文件夹内以及Publish\CSharpPlugins文件夹内,方便统一插件输出。


4.查阅API接口文档,调用对应API实现插件功能,编译、测试、调试、发布使用……

API接口文档下载:

链接: http://pan.baidu.com/s/1mhKjeMc 密码: 8bkr 这个文件类型酷Q论坛不让传,只能加百度云外链啦,或者加群获取。

Flexlive.CQP.Framework 交流群:8621436

 

嗯,其实下面开始才是重点,因为我在刚使用框架开发完成插件以后,对框架插件的使用也是一头雾水,所以在这里,要重点科普一下框架的使用。

 

1.拷贝相关依赖文件至酷Q目录:

作者为了方便大家使用,已经做过整合和自动处理。

编译后,直接找到项目文件目录 Publish 文件夹,将文件夹内所有项目直接复制到酷Q根目录(即:CQP.EXE或CQA.EXE 所在 目录)

注意,自己开发的C#插件的类库DLL一定要复制到酷Q CSharpPlugins 文件夹下!!!

 

2.使用

 

方式一:UDP方式

  • 打开并登录酷Q,启用酷Q应用中 Flexlive.CQP.CQEProxy
  • 打开Flexlive.CQP.CSharpProxy.exe (代理端)
  • 在代理端可以看到你的插件,选中点击启用即可启用
  • 点击 设置 进入插件设置页面(如果你没有给你的插件添加配置页面,点击无效。)
  • 点击 应用目录 可以快速打开CSharpPlugins 文件夹
  • 点击 重新加载应用 可以在热覆盖插件DLL以后,重新加载DLL
  • 点击 功能测试 可以进入功能测试后台,C#开发的插件日志也显示在这里(酷Q端日志不会具体到哪个C#插件,所以需要查阅C#插件日志,请使用代理端 功能测试)
  • 点击 卸载 删除插件并删除本地插件DLL

(UDP方式必须保持代理端开启,不可关闭)

 

       方式二:CLR方式

  • 打开并登录酷Q,启用酷Q应用中 Flexlive.CQP.CQCProxy
  • 选中  Flexlive.CQP.CQCProxy 点击菜单-设置B 进入C#插件管理页面
  • 在C#插件管理页面可以看到你的插件,选中点击启用即可启用
  • 点击 设置 进入插件设置页面(如果你没有给你的插件添加配置页面,点击无效。)
  • 点击 应用目录 可以快速打开CSharpPlugins 文件夹
  • 点击 卸载 删除插件并删除本地插件DLL

(1.CLR方式,功能测试页面无法获取日志,有待解决
   2.CLR方式无法热替换C#插件DLL,必须重启酷Q【可 快速重启】
   3.C#插件管理页面可以关闭不同于UDP方式必须保持代理端开启)

【FAQ】

1.问:酷Q无法加载dll插件怎么办? 答:找到酷Q目录\conf\CQP.cfg,用记事本打开,添加开启开发者模式

[Debug]

DeveloperMode = 1

 

重启酷Q

2.问:UDP方式调试不了怎么办?

答:在酷Q中确认引启用了cc.flexlive.cqeproxy插件后,请用其它QQ向挂机QQ发个消息,激活UDP端口。

 

更多问题 Flexlive.CQP.Framework 交流群 欢迎您的到来。我的博客园地址:http://www.cnblogs.com/Traceless/ 刚玩博客园,以后我的相关水文都会更新在那里~

本文及SDK开发文档,已由作者授权,转载请保留以下信息,谢谢!

框架作者: @xingfustar

协助: ?+.史莱姆

内部测试、API帮助文档: Traceless

交流群:8621436

代码已开源,https://github.com/Flexlive/CQP/  欢迎各界大佬共同完善~

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SVN版本冲突,导致出现Files 的值“ < < < < &a

下一篇:mvc过滤器学习(1)