2012-08-06 111 views
1

我想使用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? 

上午我呢?

+0

您使用的是哪個版本的netty? – Veebs 2012-08-06 23:15:15

+0

3.4.4.final,這是通過異步-http客戶端1.7.5 – peoplesmeat 2012-08-09 01:29:41

回答