.net framework websocket连接.net coreSignalR服务器。

突然用.net core做api接口了 ,电脑上的程序用.net framework开发的,

网上非signalr客户端连接的中文文档就特么几个,找了半天终于搞了出来,必须精简简单

代码引用 WebSocket4Net;  直接nuget下载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using WebSocket4Net;
public static WebSocket webSocket4Net = null;
static void Main(string[] args)
{
    Console.WriteLine("客户端");
    webSocket4Net = new WebSocket("ws://192.168.2.110:56091/hub");
    webSocket4Net.Opened += WebSocket4Net_Opened;
    webSocket4Net.MessageReceived += WebSocket4Net_MessageReceived;
    webSocket4Net.Open();
 
    //下面的就是调用服务端的方式了
    var data = @"{  ""type"": 1,
               ""streamIds"":[],
               ""invocationId"": ""0"",
               ""target"": ""你的服务端的方法"",
               ""arguments"": [
                   ""服务端方法的值""
               ]
           }" + "\u001e";//发送远程调用 log方法
    webSocket4Net.Send(data);
 
    Console.WriteLine("按任意键结束。。。");
    Console.ReadKey();
    webSocket4Net.Dispose();
}
private static void WebSocket4Net_MessageReceived(object sender, MessageReceivedEventArgs e)
{
    JObject jobj = JObject.Parse(e.Message.Replace("\u001e", ""));
    if (jobj["target"]?.ToString() == "CallerBooking")
    {
        JArray arguments = JArray.Parse(jobj["arguments"].ToString());
        string data = arguments.First.ToString();
    }
    Console.WriteLine($"服务端回复数据:{e.Message}!");
}
 
private static void WebSocket4Net_Opened(object sender, EventArgs e)
{
    var data = @"{""protocol"":""json"", ""version"":1}" + "\u001e";
    webSocket4Net.Send(data);
    Console.WriteLine("客户端连接成功");
}

  

posted @   凉生凉忆亦凉心  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示