我有一种情况,我希望 Java 客户端有一个带有 servlet 的双向数据通道(我可以控制两者),这样任何一个都可以开始数据传输而不必等待另一个先做某事,但是通过防火墙,这需要在 http 或 https 中进行隧道传输。
我环顾四周,但我不相信我知道询问 Google 的正确条款。
我最初是在看 http-tunneling 模块,但意识到我在另一端有一个 web 容器,我相信适当的方法是考虑一个需要与 home 通信的胖客户端。我在想 http 1.1 中的持久连接在这里可能非常有用。我可以轻松地进行心跳传输以防止连接闲置。
在这个时间点上,我只需要做一个概念证明,所以我主要需要一些现在可以工作的东西,然后可以在以后进行优化甚至替换。
因此,我很感激指向允许我建立连接的项目的指针,其中任何一方都可以将信息(如序列化对象或描述性字节流)推送到另一方。如果可能的话,我更喜欢纯 Java。
编辑:感谢您的指点。看来我需要的东西将在 servlet 3.0 规范中提供,我最终可能会长期使用它,这取决于它何时在各种 Web 容器中得到支持。
现在我正在研究 Cometd 包,它似乎能够完全满足我的原型所需。