基于Netty的服务器在Servlet容器中的应用

3
我有一个使用Jboss Netty实现的网络服务器,可以通过原始TCP和HTTP提供应用程序,并作为独立进程运行。连接TCP的客户端可以将数据传输给连接HTTP的客户端,反之亦然。
现在我需要在servlet环境中使其工作。Netty是否提供了标准方法来实现这一点,还是我必须编写自己的适配器?TCP传输可以做什么?我能把它包含在servlet容器中吗? 这里有一个类似的问题,但没有明确的答案。

Netty的实现已经处理了HTTP吗?还是现在只处理原始的TCP连接?如果它已经同时处理了两者,那么为什么还需要一个servlet容器呢? - AngerClown
1个回答

2
您可以创建一个HttpTunnelingServlet,将其链接到现有的Netty实现中。请参见org.jboss.netty.channel.socket.http API文档。
本文档使用Spring bean来进行Netty设置。但是,将您的配置和设置移动到ServletListener应该很容易。但我不能百分之百确定这样做是否可行,因为设置需要连接到在servlet配置中指定的LocalAddress。问题可能是地址在servlet启动之前无效,而启动时间比监听器要晚。另一个选择是子类化HttpTunnelingServlet并添加到init()实现中。
无论使用哪种方法,您仍然需要像以前一样设置和启动TCP通道等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接