我需要一个JSON-Rpc客户端才能通过websocket与服务器进行通信。特别是,我需要创建一个接口并使用方法将JSON请求发送到服务器。
有人知道该怎么做吗?
我找到了StreamJsonRpc
库,但是它可以通过流而不是通过websocket来工作。
我可以从websocket连接获取流并将其粘贴到StreamJsonRpc
吗?
您还有其他想法吗?
答案 0 :(得分:0)
您可以看到WebSocket4Net。
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();
}
}
}