使用Windows窗体和asp.net signar实现私人聊天

时间:2016-04-25 06:05:44

标签: asp.net signalr

我通过提供以下链接完成了winform客户端和Web客户端以及winform服务器。

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

但它是在群聊中实现的,但我希望将其作为私聊。

提前谢谢

1 个答案:

答案 0 :(得分:2)

看看这个项目。

这是一对一的聊天:http://www.codeproject.com/Articles/562023/Asp-Net-SignalR-Chat-Room

相关功能:

public void SendPrivateMessage(string toUserId, string message)
{  
   string fromUserId = Context.ConnectionId;
   var toUser = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == toUserId) ;
   var fromUser = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == fromUserId);

   if (toUser != null && fromUser!=null)
   {
       // send to
       Clients.Client(toUserId).sendPrivateMessage(fromUserId, fromUser.UserName, message);

       // send to caller user
       Clients.Caller.sendPrivateMessage(toUserId, fromUser.UserName, message);
   }

}