我想在Websockets上找到一个很好的(最新的)Java Trail类型的入门教程,其中包含Javascript客户端代码和Java服务器代码(实际有效)。在服务器端,如果我所要做的只是创建一个简单的套接字服务器或类似的东西,请告诉我。到目前为止,我还没有发现任何东西(尽管我已经在谷歌上搜索了几个小时)能提供这样的基本信息(除了客户端,这显然很容易)。
我对使用现有的Websocket服务器系统不感兴趣(除了从简单教程中的简单复制粘贴开始)。如果你感兴趣,我会在下面告诉你原因。
我有一个开源项目,早在HTML5开始之前(从多年前的最初概念开始),它就一直在乞求HTML5。从Websockets获得双向通信,而不是长时间轮询、永久帧等,对我来说似乎是一个赢家。(框架)软件的当前版本是HLL"轻"-我通常强调不拖入额外的代码。它只使用JavaSE,尽管我打算使用EE通信构建版本。目前,我可以轻松地安装整个框架,并为手机等小型设备上的应用程序组件留出空间。
- 我想要最低限度的代码
- 我为理解系统中的所有代码而感到自豪
- 我认为,如果你必须告诉想尝试的人,他们必须下载并安装各种其他开源代码才能完成,那么一个新的开源项目就是死亡
- 我不希望我的代码受到其他人代码的更改
- 如果我能找到合适的文档,这真的不应该那么难
更新:我不再需要简单的websocket教程了。我正在构建一个生产级的websocket服务器,并有一个非常好的基于浏览器的客户端用于测试。我现在正在构建一个非基于浏览器的客户端。顺便说一句,构建一个实现完整标准的多客户端websocket服务器并不简单。(事后看来,难怪我没有得到任何答案。)如果它要作为基于浏览器的客户的独立服务器工作,它需要http(至少提供网页)和其他东西。不是一个适合胆小鬼或没有时间投入的人的项目。
自从第一次发布以来,我一直在构建自己的WebSocket服务器。所有这些都很简单的梦想很快就过去了。然而,对于任何想要websocket服务器的人来说,我已经足够接近了,可以在免费测试版中提到"发布"这个词。(注意,我只是在"提到"这个词——我至少还有几周的时间。)这是一个重量轻、速度快的多用户服务器。我最终将添加http支持,这样就不需要其他服务器来交付网页(WebSockets无论如何都是升级的http连接)。我还将添加HLL功能。首先,它将简化应用程序。尽管我一直致力于保持"轻量级"的状态,但这整个组合一直是我一生的抱负,我相信开发人员会发现,它非常适合构建从简单直接到大规模复杂、分布式、智能系统的任何系统。
我使用了该标准的最新版本,这是最终草案版本,如果与最终标准不一样,可能会非常接近;版本1。到目前为止,它可以与Chromium(Chrome-dev)和Firefox配合使用。然而,他们的WebKit中显然有一些代码为其他浏览器提供了支持。我还没试过。到目前为止,我已经使用浏览器建立了连接,并来回传递短信(大大小小)。到目前为止,这就是我所发现的浏览器所能处理的全部内容。我认为它对非常大的文本"消息"的支持实际上只会与HTML5本地存储功能一起用于文件传输。我也没试过。二进制传输可能会在某个时候连接到HTML5流媒体视频和音频,但到目前为止我还没有遇到任何提及。
我目前正在开发一个Java客户端,它将支持完整的标准,包括ping和二进制传输、文件传输——整个蜡球。我需要的大部分内容已经为服务器及其"echo"应用程序构建好了,该应用程序像客户端一样包括消息发送。然后,我将重新审视我最早的一些工作,以便在添加新功能时以一种很好的方式进行概括。我认为,在许多情况下,在应用程序中拥有一个或多个Java websocket客户端将是一件好事。它还将为网络浏览器提供完整的功能,只要他们准备好了
我也知道Opera在HTML5爱好者中很受欢迎。事实上,我开始使用他们支持的标准版本,所以添加它应该不会很困难。只是Opera在其他HTML5方面做得很好,而且有很多爱好者在使用它。另一方面,他们主要在浏览器客户端工作,我不知道他们是否会参与构建服务器端应用程序。
与我在WebSockets上的工作相关的博客文章。
WebSocket服务器卸载,2011年9月26日
微软Internet Explorer上的WebSocket演示,2011年11月16日
带有Apache Tomcat和HLL的WebSockets,2013年1月12日