【问题标题】:Simple (Java, Javascript) start on Websockets简单(Java、Javascript)从 Websockets 开始
【发布时间】:2011-09-01 14:55:33
【问题描述】:

我想在 Websockets 上找到一个好的(最新的)Java Trail 类型的入门教程,其中包含 Javascript 客户端代码和 Java 服务器代码(实际有效)。在服务器端,如果我所要做的就是创建一个简单的套接字服务器或类似的东西,请告诉我。到目前为止,我没有发现任何东西(尽管我已经搜索了几个小时)可以提供这样的基本基本信息(客户端除外,这显然很容易)。

我对使用现有的 Websocket 服务器系统不感兴趣(除了从简单教程中的简单复制粘贴开始)。如果你有兴趣,我会在下面告诉你原因。

我有一个开源项目,早在 HTML5 开始之前就一直在乞求它(从多年前的最初构想开始)。从 Websocket 获得双向通信,而不是长轮询、永久帧等,对我来说似乎是赢家。 (框架)软件的当前版本是HLL“light”——我通常强调不要拖入额外的代码。它仅使用 Java SE,尽管我打算使用 EE 通信构建版本。我目前可以轻松安装整个框架,并为手机等小型设备上的应用程序组件留出空间。

  1. 我想要最少的代码。
  2. 我以了解系统中的所有代码而自豪。
  3. 我认为,如果您必须告诉想要尝试它的人他们必须下载并安装各种其他开源代码才能做到这一点,那么对于一个新的开源项目来说,这就是死亡。
  4. 我不希望我的代码受到其他人代码的更改。
  5. 如果我能找到正确的文档,这真的不应该那么困难。

更新:我不再需要关于 websockets 的简单教程。我正在构建一个生产级 websocket 服务器,并且有一个非常好的基于浏览器的客户端用于测试。我现在正在构建一个非基于浏览器的客户端来配合它。顺便说一句,构建一个实现完整标准的多客户端 websocket 服务器并不简单。 (事后看来——难怪我没有得到任何答案。)如果它要作为基于浏览器的客户端的独立服务器工作,它需要 http(至少提供网页)和其他东西。不适合胆小的人或没有时间投入的项目。

【问题讨论】:

    标签: websocket html


    【解决方案1】:

    自从第一次发帖以来,我一直在构建自己的 WebSocket 服务器。一切都会变得简单的梦想很快就过去了。然而,对于任何想要 websocket 服务器的人来说,我已经足够接近提到“发布”这个词了,就像在免费 Beta 版中一样。 (请注意,我只是在“提及”这个词——至少还有几周的时间。)它是一个轻量级且速度极快的多用户服务器。我最终会添加 http 支持,因此不需要其他服务器来传递网页(WebSockets 无论如何都是升级的 http 连接)。我还将添加 HLL 功能。第一件事是它将简化应用程序。尽管我一直致力于保持“轻量级”的状态,但整个组合一直是我毕生的抱负,我相信开发人员会发现构建从简单直接到大规模复杂分布式智能系统的任何东西都会令人惊叹。

    我使用了该标准的最新版本,即最终草案版本,如果与最终标准不同,可能会非常接近;版本 1。到目前为止,它适用于 Chromium (Chrome dev) 和 Firefox。然而,显然他们的 WebKit 中有一些代码为其他浏览器提供支持。我还没有尝试过。到目前为止,我已经使用浏览器建立了连接并来回传递文本消息(大小)。到目前为止,这就是我发现浏览器处理的所有内容。我认为它对非常大的文本“消息”的支持实际上只会与 HTML5 本地存储功能一起用于文件传输。我还没有尝试过。二进制传输可能会在某个时候连接到 HTML5 流式视频和音频,但到目前为止我还没有遇到过任何提及。

    我目前正在开发一个支持完整标准的 Java 客户端,包括 ping 和二进制传输、文件传输 - 整个过程。我需要的大部分内容已经为服务器及其“回声”应用程序构建了,其中包括像客户端一样发送消息。然后,我将重新审视我最早的一些工作,以便在添加新功能时以一种很好的方式进行概括。我认为,在许多情况下,在应用程序中拥有一个或多个 Java websocket 客户端将是一件好事。它还将为 Web 浏览器提供完整的功能,只要它们准备好了。

    我也知道 Opera 在 HTML5 爱好者中很受欢迎。我实际上开始使用他们支持的标准版本,所以添加它应该不难。 (只是四处游荡,试图找到我的方式 - 并使特定于该版本的东西正常工作。)我很想花时间为那个版本提供支持,即使它应该在几个月内完全过时。只是 Opera 在其他 HTML5 方面非常出色,并且有大量的爱好者在使用它。另一方面,他们主要在浏览器客户端工作,我不知道他们是否会大量参与构建服务器端应用程序。

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多