0

最近几天,我正在研究实现chatting网络技术的更好方法。

我做了研究,我发现node.js也有一些问题,如下所示

  1. 跨浏览器支持(旧版 IE 不支持),因为web sockets.
  2. 作为它的新工具,仍然是开发不足的工具,因此 API 不稳定。
  3. 他们没有很好的文档可以遵循(但是是的,有很多文章可以提供帮助)

然后我决定我会在小程序中这样做,这样很容易制作,但像往常一样我做了一些研究,这个链接真的帮助了我。

它也有一些问题,比如

  1. 一些组织只允许管理员安装软件。因此,许多用户默认无法查看小程序。
  2. 小程序可能需要特定的 JRE。
  3. 它在 Java 虚拟机运行之前无法启动,并且在第一次使用它时可能需要很长的启动时间。

我也问过这个问题,但我只得到了一个解决方案,实现起来也有点复杂,而且它也使用网络套接字。

我想让这个应用程序至少让IE6用户IE7不会有任何问题。

我的问题是,有什么更好的实施方式?

除了这两个之外,还有什么我们可以实现相同的东西,或者我们必须只选择这两个中的一个?

我没有使用任何框架。只有JSP+SERVLET

4

2 回答 2

1

使用 Node.js 不会以任何方式限制哪些浏览器可以用作客户端。Node.js “只是”服务器。您可以使用普通的旧 HTTP 请求进行所有通信并忽略 websockets,您将能够构建一个甚至可以使用 IE5 的聊天客户端。

如果您决定使用 websockets 作为通信协议,那么这将限制可用浏览器的数量,但这个决定不是强加给您的。

另一方面,使用 Java 小程序严重限制了将运行您的应用程序的浏览器数量:虽然大多数浏览器都可以运行小程序,但并非所有计算机都安装了 Java 运行时(坦率地说:很少有人会安装它只​​是为了运行聊天应用)。您还将排除几乎所有具有此选择的移动平台:它们通常不能运行小程序(即使对于支持 Java 作为其主要编程环境的移动平台也是如此)。

我不得不不同意 Node.js 文档的质量。文档很小,但非常完整:Node.js 没有庞大的 API。基于 Node.js 的库可能会有所不同:其中一些有据可查,而另一些则没有。这通常取决于它们的使用范围。

于 2012-06-07T07:14:55.083 回答
0

最好的解决方案是一个框架,该框架将传输逻辑抽象出来,并在 WebSocket 不可用时优雅地降级为其他传输(例如长轮询、flash websocket 等)。

Socket.IO 就是这样一个解决方案,无论传输层如何,您都拥有相同的 API,并且您的应用程序甚至可以在 IE6 中运行(因此,无处不在):http ://socket.io/

于 2012-06-07T07:13:59.897 回答