//------------------------------------------------------------------------------ // 此代码版权(除特别声明或在XREF结尾的命名空间的代码)归作者本人若汝棋茗所有 // 源代码使用协议遵循本仓库的开源协议及附加协议,若本仓库没有设置,则按MIT开源协议授权 // CSDN博客:https://blog.csdn.net/qq_40374647 // 哔哩哔哩视频:https://space.bilibili.com/94253567 // Gitee源代码仓库:https://gitee.com/RRQM_Home // Github源代码仓库:https://github.com/RRQM // API首页:https://www.yuque.com/rrqm/touchsocket/index // 交流QQ群:234762506 // 感谢您的下载和使用 //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ using TouchSocket.Core; using TouchSocket.Rpc.JsonRpc; namespace TouchSocket.Sockets { /// /// JsonRpcConfigExtensions /// public static class JsonRpcConfigExtensions { /// /// 构建JsonRpc类客户端,并连接 /// /// /// /// public static TClient BuildWithJsonRpcClient(this TouchSocketConfig config) where TClient : IJsonRpcClient { TClient client = config.Container.Resolve(); client.Setup(config); client.Connect(); return client; } /// /// 构建JsonRpc类客户端,并连接 /// /// /// public static JsonRpcClient BuildWithJsonRpcClient(this TouchSocketConfig config) { return BuildWithJsonRpcClient(config); } /// /// TcpJsonRpc /// public static Protocol TcpJsonRpc { get; private set; } = new Protocol("TcpJsonRpc"); /// /// 转化Protocol协议标识 /// /// public static void SwitchProtocolToTcpJsonRpc(this ITcpClientBase client) { client.Protocol = TcpJsonRpc; } /// /// 设置JsonRpc的协议。 /// public static readonly DependencyProperty JRPTProperty = DependencyProperty.Register("JRPT", typeof(JsonRpcConfigExtensions), JRPT.Tcp); /// /// 设置JsonRpc的协议。默认为 /// /// /// /// public static TouchSocketConfig SetJRPT(this TouchSocketConfig config, JRPT value) { config.SetValue(JRPTProperty, value); return config; } } }