如何在C#中创建实时支持聊天应用程序?

时间:2015-11-08 14:55:15

标签: c# wcf chat

我试图使用WCF微服务在C#中构建一个实时支持聊天应用程序,在无休止的搜索之后我仍然无法找到答案,希望这里有人可以指出我正确的方向。

我的问题是,与用户向所有连接的客户端广播消息的典型聊天室不同,我需要的应用程序更像是在亚马逊或eBay等网站上找到的Live Support应用程序。

理想情况下,多个客户支持代理将在其计算机上安装预装的WinForms聊天应用程序,当客户打开聊天窗口(aspx页面)时,它将连接到服务器/服务,然后服务器/服务将调用所有连接的客户支持代理直到一个人回答。此时,客户和代理将在私人聊天窗口中连接。

有人可以给我一些关于如何做到这一点的见解或想法吗?

谢谢,

欧文

3 个答案:

答案 0 :(得分:1)

您可以使用ASP.NET SignalR,它是ASP.NET开发人员的一个库,可以轻松开发实时Web功能。 SignalR允许服务器和客户端之间的双向通信。现在,服务器可以在连接的客户端可用时立即将内容推送到连接的客户端。

Here您可以找到有关SignalR的更多详细信息和许多教程。

答案 1 :(得分:1)

谷歌的第一次重拍

A WCF-WPF Chat Application

Video tutorial

WCF Chat Application

ASP.NET Chatting using WCF Services and JSon

A simple peer to peer chat application using WCF netPeerTcpBinding

有用的讲座 HTML 5 Web Sockets

总是首先询问谷歌,上面你几乎没有准备好使用可以复制到解决方案的项目

  

编辑:

另外,作为提示,我可以在应用程序级别推荐双向消息队列,然后为具有会话和用户标识符的消息创建索引。下一步将是基于等待对象的具有弹出和推送逻辑的WCF。以低成本,您将需要锁定队列。 WCF会做很多工作。使用代理管理和消息发送的应用程序内部也可能出现问题,因此专用的聊天代理将是最好的和最安全的想法。并阅读有关可在此处使用的双工服务DUPLEX SERVICE

答案 2 :(得分:0)

这些是我的发现,但尚未检查:

Live Support Chat using SignalR

Parle

ASP.NET团队的教程:

Real-time chat with SignalR 2

第一个看起来非常早期的开发阶段,Parle更有希望。

无论如何,由于我继续对该主题进行研究,也许我需要扩大答案。在此之前,链接可能是一个很好的起点。