jsp中带有node.js或applet的聊天应用程序

jsp中带有node.js或applet的聊天应用程序,jsp,node.js,servlets,applet,websocket,Jsp,Node.js,Servlets,Applet,Websocket,最近几天,我正在研究如何更好地在web技术上实现聊天 我做了研究,发现node.js也有如下问题 跨浏览器支持(旧版本的IE不支持),因为web套接字 由于它是新的,工具仍然不发达,所以API不稳定 他们没有很好的文档可供遵循(但是,是的,有很多文章可供帮助) 然后我决定用小程序来做,这样做很容易,但像往常一样,我做了一些研究,真的帮助了我 它也有一些问题,比如 有些组织只允许管理员安装软件。因此,默认情况下,许多用户无法查看小程序 小程序可能需要特定的JRE 在Java虚拟机运行之前,它无法启

最近几天,我正在研究如何更好地在web技术上实现
聊天

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

  • 跨浏览器支持(旧版本的IE不支持),因为
    web套接字
  • 由于它是新的,工具仍然不发达,所以API不稳定
  • 他们没有很好的文档可供遵循(但是,是的,有很多文章可供帮助)
  • 然后我决定用小程序来做,这样做很容易,但像往常一样,我做了一些研究,真的帮助了我

    它也有一些问题,比如

  • 有些组织只允许管理员安装软件。因此,默认情况下,许多用户无法查看小程序
  • 小程序可能需要特定的JRE
  • 在Java虚拟机运行之前,它无法启动,并且在第一次使用它时,可能会有很长的启动时间
  • 我也问过这个问题,但我只得到了一个解决方案,而且实现起来有点复杂,而且还使用了web套接字

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

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

    除了这两种方法之外,还有其他方法可以实现相同的方法吗?或者我们只能选择其中的一种方法


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

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


    Socket.IO就是这样一个解决方案,无论传输层是什么,你都有相同的API,你的应用程序甚至可以在IE6中工作(因此,在任何地方):

    使用Node.js不会以任何方式限制哪些浏览器可以用作客户端。Node.js“只是”服务器。您可以在所有通信中使用普通的HTTP请求,而忽略WebSocket,这样您就可以构建一个甚至可以与IE5一起工作的聊天客户端

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

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

    我不得不对Node.js文档的质量提出异议。文档很小,但非常完整:Node.js没有庞大的API。对于基于Node.js的库,情况可能有所不同:有些库有很好的文档记录,而其他库则没有。这通常是它们被广泛使用的函数