如何发送信息存储在服务器上的数据网格到客户端使用SignalR Hub在winform
问题描述:
我已经存储了一些客户端数据在datagrid服务器上使用signalr(无论何时客户端连接所有客户端的详细信息,如ipaddress,名称等更新服务器).. 。所以我想发送该数据网格的详细信息给所有的客户端,条件是每当新的客户端连接到服务器,然后包括当前客户端的所有客户端必须得到更新列表....这里是我的代码基本上我到现在为止,如何发送信息存储在服务器上的数据网格到客户端使用SignalR Hub在winform
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();
}
并在datagird上显示服务器本身的这个列表...我必须发送这个列表给所有的客户...请帮助我......谢谢....或者有没有其他方式或我是做错事请告诉我..
答
在服务器上,您将有一个集线器和一个集线器上的方法进行广播。
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客户端源代码:
你可以用邮件发送到服务器的所有客户'的Clients.All' – Pawel