我已经在我的Apache服务器上设置了MOD_SPDY,现在想要修改我的客户机代码,以使用Netty的SPDY实现通过SPDY通道向服务器发送我的请求。
这是我第一次使用Netty,所以我想我需要以某种方式配置我的Channel,然后通过它发送请求。问题是,似乎不太清楚如何配置通道,甚至在此之后,如何跟踪通道中可能正在并发执行的多个HTTP请求。
我用谷歌搜索了一下,找到了SPDY包:http://netty.io/docs/stable/api/org/jboss/netty/handler/codec/spdy/package-summary.html
但是那里的文档仍然很少。我似乎没有找到任何使用代码的例子,只有在最新版本中存在的声明。
有没有人有关于如何构建一个SPDY通道,然后通过它发送/跟踪多个请求和响应的示例?此外,当服务器不支持SPDY并且通道回退到标准SSL连接时,此功能将如何发挥作用?
发布于 2012-04-10 16:51:34
我在Netty和SPDY上找到的唯一一个例子是SessionHandler和socket echo test的测试代码。我还没有让这个东西运行,但是你的客户端应该让管道由SpdyFrameCodec,SpdySessionHandler和你的处理程序组成。
您的处理程序应该在会话测试中模仿EchoHandler,因为这样SpdySessionHandler就可以将原始帧解码成更有意义的帧,并按照EchoHandler协议的要求做一些事情。
至于回退,在Netty的快照版本中有SpdyHttpCodec,它可以从SPDY转换为HTTP。这样,您就可以根据HTTP构建您的客户端处理程序,并透明地接收通过SPDY或HTTP传入的消息。要做到这一点,需要实现类似于port unification示例的东西。
这就是我所说的。有几个实用程序类/处理程序的空间,使所有这些都成为“开箱即用”的体验。我想做一个工作的例子,但我现在没有时间去做,而且有太多的代码要简单地粘贴在这里作为答案。
发布于 2012-04-28 15:52:43
在jetty中使用spdy的例子并不多。我通常不是一个厚颜无耻的推广,但我只是写了一个完整的例子,如何做你想要的。我已经将netty配置为在客户端支持时为spdy提供服务,并在spdy不可用时回退到http。你可以在http://www.smartjava.org/content/using-spdy-and-http-transparently-using-netty上找到代码。
https://stackoverflow.com/questions/10079801
复制相似问题