WebSockets(wss)和代理服务器与AsyncHttpClient
问题描述:
我想使用AsyncHttpClient与代理服务器配置连接使用wss和我没有运气。我一直在使用异步HTTP客户端1.7.5和灰熊-2.2.13的WebSockets我第一次尝试WebSockets(wss)和代理服务器与AsyncHttpClient
AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder()
.setSSLContext(sc)
.setProxyServer(
new ProxyServer(Protocol.HTTP, "192.168.1.130", 3128))
.build();
NettyWebSocket w = (NettyWebSocket)c.prepareGet("wss://192.168.1.124/atmosphere-chat/chat")
.execute(handler).get();
使用默认的网状配置无法正常工作,这似乎企图通过代理至少去连接到远程服务器。我到那里唯一的例外是
java.lang.IllegalArgumentException: unsupported message type: class org.jboss.netty.handler.codec.http.websocketx.TextWebSocketFrame
当我通过
AsyncHttpClient c = new AsyncHttpClient(new GrizzlyAsyncHttpProvider(config), config);
事情改用灰熊更好/更差。在这种情况下,看起来灰熊未能通过http代理发送连接谓词,并立即开始通过ssl进行通信,失败。我认为这将是一个很好的支持情况,因为在使用SSL时websocket连接可以通过代理工作的可能性增加了。 ]
的东西应该是工作范围之外Exception in thread "main" java.util.concurrent.ExecutionException: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
上午我呢?
答
原来这是AHC中的一个错误(https://github.com/sonatype/async-http-client/issues/131#issuecomment-7745037)在1.8.0中得到修复。
您使用的是哪个版本的netty? – Veebs 2012-08-06 23:15:15
3.4.4.final,这是通过异步-http客户端1.7.5 – peoplesmeat 2012-08-09 01:29:41