WSCommandLinePlugin
命令行执行插件客户端、服务器均支持
WSCommandLinePlugin命令行执行插件,是用于WebSocket的快捷事务实现,让WS在Text文本中,用最简单的文字消息即可完成相关事务的执行。该类是抽象类,必须通过继承,在继承类中,声明的具的公共的且名称以Command结尾的方法,均可被快捷执行。
例如:下列插件,即可被普通WS客户端,或服务器便捷调用。
调用数据格式:
Add 10 20
支持Json数据格式
var service = new HttpService();
var config = new TouchSocketConfig();
config.UsePlugin()
.SetReceiveType(ReceiveType.Auto)
.SetListenIPHosts(new IPHost[] { new IPHost(7789) })
.ConfigureContainer(a=>
{
a.SetSingletonLogger<ConsoleLogger>();
})
.ConfigurePlugins(a=>
{
a.Add<WebSocketServerPlugin>();//添加WebSocket功能
a.Add<MyWSCommandLinePlugin>();//添加WS命令行事务。
});
service.Setup(config)
.Start();
service.Logger.Message("Http服务器已启动");
service.Logger.Message("WS访问:ws://127.0.0.1:7789/ws");
/// <summary>
/// 命令行插件。
/// 声明的方法必须以"Command"结尾,支持json字符串,参数之间空格隔开。
/// </summary>
class MyWSCommandLinePlugin : WSCommandLinePlugin
{
public int AddCommand(int a, int b)
{
return a + b;
}
public SumClass SumCommand(SumClass sumClass)
{
sumClass.Sum = sumClass.A + sumClass.B;
return sumClass;
}
}
class SumClass
{
public int A { get; set; }
public int B { get; set; }
public int Sum { get; set; }
}