阅读这篇文章后,我决定编写自己的聊天应用程序。
与上面的帖子不同,我的应用程序允许更多轮询,例如当用户按下任何键时(为了通知另一个用户 1 正在写东西),显然当用户发送消息时。
这会导致一些问题:通常没有一个通知被正确读取,并且发送的消息并不总是从另一端读取。
如果有某种方式可以发送和接收不同类型的通知(消息、关于新写作的警报、新用户加入等),那就太好了。
我该如何解决这个问题?
我很高兴地通知您我的聊天应用程序现在正在运行。
问题是关于在同一个 javascript 事件处理程序中对 wcf 服务的两次调用(发送消息按钮,我在其中通知了新消息和诸如“用户没有写任何东西”之类的警报,是的,我需要重置以前的警报(“用户正在写信息..”)。
现在我可以发送和接收许多通知并且一切正常。我已经用 10 个聊天页面对其进行了测试。
当然,我知道通过使用您建议我的框架,我可以实现更多的功能和稳定性,但我很高兴找到了一个相对简单、可定制和良好的解决方案来满足我的目的。
Signal R 是您问题的解决方案。我了解您想开发自己的解决方案,并且阴谋可能很诱人,但请考虑研究 SignalR - 能够掌握和操纵 SignalR 将带来好处,并让您更轻松地解决类似问题 - 它是添加到您的开发库中的绝佳工具。
事实上,无论如何继续开发您的解决方案,但让 SignalR 一次性完成其他项目或其他项目,作为在 .net 中实现此类客户端服务器通信的事实上的方法,它确实值得一看。可以使用下面的链接在 NuGet 上找到它,因此只需点击几下!