JSONRpc Client over websocket C#
Posted
技术标签:
【中文标题】JSONRpc Client over websocket C#【英文标题】: 【发布时间】:2018-06-22 11:48:12 【问题描述】:我需要一个 JSON-Rpc 客户端来通过 websocket 与服务器通信。特别是,我需要创建一个接口并使用方法将 JSON 请求发送到服务器。
有人知道怎么做吗?
我找到了 StreamJsonRpc
库,但它可以通过流而不是 websocket 工作。
我可以从 websocket 连接中获取流并将其传递给StreamJsonRpc
吗?
您还有其他想法吗?
【问题讨论】:
【参考方案1】:您只需要Json.net 和WebSocket4Net。
你可以看到there。
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Security.Authentication;
using WebSocket4Net;
namespace LightStreamSample
class WebSocket4NetSample
static void Main(string[] args)
var channelName = "[your websocket server channel name]";
// note: reconnection handling needed.
var websocket = new WebSocket("wss://[your web socket server websocket url]", sslProtocols: SslProtocols.Tls12);
websocket.Opened += (sender, e) =>
websocket.Send(
JsonConvert.SerializeObject(
new
method = "subscribe",
@params = new channel = channelName ,
id = 123,
)
);
;
websocket.MessageReceived += (sender, e) =>
dynamic data = JObject.Parse(e.Message);
if (data.id == 123)
Console.WriteLine("subscribed!");
if (data.@params != null)
Console.WriteLine(data.@params.channel + " " + data.@params.message);
;
websocket.Open();
Console.ReadKey();
【讨论】:
谢谢,我按照您的建议开发我的应用程序以上是关于JSONRpc Client over websocket C#的主要内容,如果未能解决你的问题,请参考以下文章
Spark- Spark Yarn模式下跑yarn-client无法初始化SparkConext,Over usage of virtual memory