用户自定义插件
用户通过实现框架预设的插件接口,即可接收相应的触发。每个组件都有详细的插件支持说明。
例如:ITcpPlugin、ITokenPlugin、IProtocolPlugin等。
系统自定义插件
当各位朋友使用RRQM封装自己的dll时,可能需要一些定义插件。那么这个需求RRQM也能满足大家。
例如:实现基于TCP的特殊信息自定义插件,当收到字母‘A’时,希望触发实现IAPlugin接口插件的GoToA方法。
具体操作如下:
- 声明IAPlugin接口,继承IPlugin。
- 声明GoToA接口方法(该方法必须两个参数,第一参数无要求,一般为触发主体,第二参数必须继承自RRQMEventArgs)。
- 在合适时候,判断当前配置是否支持插件,然后使用服务器或客户端的PluginsManager属性调用Raise方法,此处的泛型(IAPlugin)必须为接口类型。
public interface IAPlugin : IPlugin
{
void GoToA(ITcpClientBase client,RRQMEventArgs e);
}
public class MyTClient : TcpClient
{
protected override void HandleReceivedData(ByteBlock byteBlock, IRequestInfo requestInfo)
{
if (this.UsePlugin)
{
if (byteBlock.ToString()=="A")
{
this.PluginsManager.Raise<IAPlugin>("GoToA",this,new RRQMEventArgs());
}
}
}
}