AJAX IRCX 客户端和服务器
本文关键字:服务器 客户端 IRCX AJAX | 更新日期: 2023-09-27 18:33:11
我目前正在开发一个基于 IRCX AJAX 聊天的系统,并且对服务器和客户端的实现有一些问题;欢迎任何建议:
服务器
这应该作为 Web 服务还是 Windows 窗体应用程序实现?我有开发基于 Windows 窗体的服务器的经验,但是我想知道这是否可以更好地实现为 Web 服务,如果是这样,为什么?
客户
目前如何实现基于 Web 的客户端,实现基于 Web 的客户端的首选方法是什么?
到目前为止,我的解决方案是
- ASP.NET 带有 AJAX 更新面板的 Web 窗体(这似乎是最可行的)
- 使用 jQuery 连接到具有 JavaScript 超时的 Web 服务
投票
应多久轮询一次服务器以获取新邮件? 0.5秒似乎有点过分,2或3秒之间的任何时间似乎都很迟钝。
感谢您的输入。
有一个连接池,并在服务器和客户端之间维护一种代理,该代理根据会话 ID 将数据发送到正确的客户端。 这意味着您的聊天服务器受到保护,免受数据包攻击,您不必处理攻击者可以劫持并对其执行所需操作的 Web 套接字。
这个问题很老了,但现在有一个更好的方法。
SignalR 专为这样的事情而设计(实时 Web 功能)
SignalR 可用于向 ASP.NET 应用程序添加任何类型的"实时"Web 功能。虽然聊天经常被用作示例,但您可以做更多的事情。每当用户刷新网页以查看新数据,或者页面实现 Ajax 长轮询以检索新数据时,都是使用 SignalR 的候选对象。
这是基本聊天应用程序的教程 这里.
有关详细信息,请访问 SignalR 网站。
使用 ASP.NET(套接字和更新面板)似乎是最好的方法。 在这种情况下使用 jQuery 现在似乎有点无效,因为它不会与实时通信所需的聊天服务器保持持久状态。
我发现的另一种方法是使用 Web 套接字和骨干网.JS来处理从服务器返回的数据。
http://blog.fogcreek.com/the-trello-tech-stack/