如何使用 winform 中的 SignalR Hub 将存储在服务器上的数据网格中的详细信息发送到客户端

本文关键字:网格 数据网 数据 客户端 详细信息 SignalR 中的 winform 何使用 Hub 服务器 | 更新日期: 2023-09-27 17:56:00

我已经使用signalr在DataGrid的服务器上存储了一些客户端数据(每当客户端连接服务器上更新的所有客户端的详细信息,如IP地址,名称等)...所以我想将该 Datagrid 详细信息发送给所有客户端,条件是每当新客户端连接到服务器时,包括当前客户端在内的所有客户端都必须获得更新列表....这是我的代码,基本上是我到目前为止所做的,

  public override Task OnConnected()
    {
        object ipaddress;
        var a=Context.QueryString["name"];
        var b= Context.QueryString["AnotherValue"];
        if (Context.Request.Environment.TryGetValue("server.RemoteIpAddress", out ipaddress))
        {
            //ipcollections = new List<string[]>();
            userhandler.ipcol.Add(new string[] {  ipaddress.ToString(), a, b });
            Program.MainForm.writetodatagrid(userhandler.ipcol);
        }
        Program.MainForm.WriteToConsole("Client connected: " + Context.ConnectionId );
        return base.OnConnected();
    }

并在数据网格中的服务器本身上显示此列表...我必须将此列表发送给所有客户...请帮帮我...谢谢。。。。还是有其他方法,或者我做错了事情请告诉我..

如何使用 winform 中的 SignalR Hub 将存储在服务器上的数据网格中的详细信息发送到客户端

在服务器上,您将有一个集线器和一个集线器上要广播的方法。

    public class MyHub : Hub 
    { 
        public void Send(string ipaddress, string name) 
        { 
            Clients.All.addMessage(ipaddress, name); 
        }
    }

看看下面的帖子。它有一个示例,说明您将在winforms客户端上执行的操作。

https://code.msdn.microsoft.com/windowsdesktop/Using-SignalR-in-WinForms-f1ec847b#content

以及 WinForms 客户端的源代码:

https://code.msdn.microsoft.com/windowsdesktop/Using-SignalR-in-WinForms-f1ec847b/sourcecode?fileId=119892&pathId=583880341