如何使用 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();
}
并在数据网格中的服务器本身上显示此列表...我必须将此列表发送给所有客户...请帮帮我...谢谢。。。。还是有其他方法,或者我做错了事情请告诉我..
在服务器上,您将有一个集线器和一个集线器上要广播的方法。
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