酷Q社区

  • 登录
  • 注册
酷Q社区»社区 分享交流区 编程技术

【酷Q开发C#SDK Flexlive框架】开发及使用教程[复制链接]

12下一页
作者: traceless0929|查看: 9474|回复: 28
跳转到指定楼层
2016-10-29 21:56

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 traceless0929 于 2016-11-8 11:23 编辑

大家好,我是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 嘿嘿嘿)

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

①file:///C:\Users\Traceless\Documents\Tencent Files\415206409\Image\Group\GPK`[email protected]%KNAEKS]PDN0R.jpg打开自己的插件项目的属性页面-生成事件-如图加入代码:

QQ图片20161029235405.jpg

文字版:

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

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


②file:///C:/Users/Traceless/Documents/Tencent%20Files/415206409/Image/Group/GPK%[email protected]%KNAEKS]PDN0R.jpg打开自己的插件项目的属性页面-生成-如图进行如下配置(具体视情况而定,支持浏览自定义目录):

QQ图片20161029235409.png

这两个技巧可以达到,编译时将编译的插件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/  欢迎各界大佬共同完善~









被感谢 9

新版SDK 作者正在打包、书写发布帖中~大家莫慌

被感谢 2

哈哈哈,为各位C#的开发者带来了教程,真的很感谢,支持楼主!
厉害了我的荒 详情回复 发表于 2016-10-29 23:46

RE: 【酷Q开发C#SDK Flexlive框架】开发及使用教程

岛城南荒= 发表于 2016-10-29 23:32
哈哈哈,为各位C#的开发者带来了教程,真的很感谢,支持楼主!

厉害了我的荒
围观大神,感谢您为酷Q的开发者提供帮助~
支持到爆
@xingfustar
是不是很666
厉害了 word男神
支持!
啦啦啦啦
支持啦,感谢楼主的福利,以后可以用你写的框架了
不是我的框架哟,我只是个打下手的 详情回复 发表于 2016-11-4 16:52
我想问一下怎么拦截消息

RE: 【酷Q开发C#SDK Flexlive框架】开发及使用教程

zzmzaizai 发表于 2016-11-1 09:31
支持啦,感谢楼主的福利,以后可以用你写的框架了

不是我的框架哟,我只是个打下手的
学习中...
支持个!
支持一个!!!
对我很有用,顶!d=====( ̄▽ ̄*)b
支持啦,感谢楼主的福利,以后可以用你写的框架了
支持一个,不过没看懂怎么用
您需要登录后才可以回帖 登录 | 注册

本版积分规则尽量使你的回复能够对他人有所帮助

状态|Archiver|酷Q社区

Powered by Discuz!Designed by hexapp© 2018 CoolQ. All Rights Reserved.

快速回复返回顶部返回列表