2015-04-07 66 views
0

这个问题没有什么关于我的代码。这是关于理解我应该怎样做某件事。asp.net mvc5 SignalR

问题1:

我工作的一个有趣的小项目,将发送一些信息从一个WPF客户到网站。但我想要做的是,我想要登录到我的WPF客户端并将其发送给用户。

因此,假设我在我的WPF客户端上登录为“TestUser1”,我希望signalR将他的信息发送给该网站上的该用户。所以当他在asp.net mvc5上登录到那个用户时,我想让他得到那些信息,而不是其他人。

问题2:

所以,如果他会登录为“TestUser2”,因为它发送信息到“TestUser1”他不会得到任何东西。这对SiglaR来说可能吗?

对我的另一个问题,这或多或少是一个后续问题。因为我希望WPF客户端将信息发送到网站,我应该让WPF客户端成为服务器,还是应该创建1个WPF客户端,以及1个WPF服务器(该网站和客户端都连接到该服务器)。

或者是否有可能使客户端服务器和客户端?

+0

在问这个问题之前,你应该真的看看SignalR,因为它现在有点过于宽泛。这绝对是可能的,我认为SignalR将是一个很好的技术,可以选择“chat tutorial signalr c#”,并且可以保证大量的相关文章解释如何“发送信息”并将目标用户/连接。 –

+0

我已经与WPF客户端,WPF服务器和一个网站进行过SignalR聊天了,如何。我只是不知道让WPF客户端既是客户端又是服务器是否明智。我也不会将信息发送给certin用户。但是,谢谢你的回复。 – Carlssonthepirate

回答

0

客户端不应该是服务器。您需要SignalR服务器的主机(例如您现有的Web服务器)。

使用发布/订阅模式订阅网站上的用户名,然后发布到客户端。 SignalR不支持pub/sub开箱即可,或者自己推出或者使用库,我已经创建了这个库,我认为它适合您的需求。

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki

这里是一个小演示了如何发布和订阅所有SignalR连接状态。

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/tree/ConnectionStateExample/SignalR.EventAggregatorProxy.Demo.MVC4

它播放所有连接状态为所有用户的所有用户,但使用内置在我的图书馆的约束API应该很容易实现

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki/Implement-constraint-handlers

这里是一个活演示: http://malmgrens.org/signalR/