本文主要是介绍TouchSocke 中使用WebSocket的快捷事务命令行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、效果
2、开发环境:
2.1、NetFramework 4.5
21.2、NuGet中安装TouchSocket 2.0.0、TouchSocket.Core 2.0.0、TouchSocket.Http 2.0.0 如下图。
3、代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TouchSocket.Core;
using TouchSocket.Http;
using TouchSocket.Http.WebSockets;
using TouchSocket.Sockets;namespace ConsoleAppWebSocketServer
{class Program{static void Main(string[] args){var service = new HttpService();service.Setup(new TouchSocketConfig()//加载配置.SetListenIPHosts(7789).ConfigureContainer(a =>{a.AddConsoleLogger();}).ConfigurePlugins(a =>{a.UseWebSocket()//添加WebSocket功能.SetWSUrl("/ws")//设置url直接可以连接。.UseAutoPong();//当收到ping报文时自动回应ponga.Add<MyWSCommandLinePlugin>();}));service.Start();service.Logger.Info("服务器已启动");Console.ReadKey();}/// <summary>/// 命令行插件。/// 声明的方法必须为公开实例方法、以"Command"结尾,且支持json字符串,参数之间空格隔开。/// </summary>public class MyWSCommandLinePlugin : WebSocketCommandLinePlugin{public MyWSCommandLinePlugin(ILog logger) : base(logger){}public int AddCommand(int a, int b){return a + b;}//当第一个参数,直接或间接实现ITcpClientBase接口时,会收集到当前请求的客户端,从而可以获取IP等。public SumClass SumCommand(IHttpClientBase client, SumClass sumClass){sumClass.Sum = sumClass.A + sumClass.B;return sumClass;}}public class SumClass{public int A { get; set; }public int B { get; set; }public int Sum { get; set; }}}
}
4、客户端输入内容为
4.1、Sum {"A":10,"B":20},返回Json数据格式数据。
4.2、Add 10 20,返回整数值。
4.3、websocket/ws/wss在线调试测试工具
5、参考工程在这里可以下载。
https://download.csdn.net/download/xingchengaiwei/89374775
这篇关于TouchSocke 中使用WebSocket的快捷事务命令行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!