2016-07-07 67 views
0

我已经存储了一些客户端数据在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上显示服务器本身的这个列表...我必须发送这个列表给所有的客户...请帮助我......谢谢....或者有没有其他方式或我是做错事请告诉我..

+0

你可以用邮件发送到服务器的所有客户'的Clients.All' – Pawel

回答

0

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

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

相关问题