2016-05-17 5 views
0

Ich habe den folgenden Codewebsocket über Proxy-Timing aus

ClientManager client = ClientManager.createClient(); 
client.getProperties().put(ClientManager.WLS_PROXY_HOST,PROXY_HOST); 
client.getProperties().put(ClientManager.WLS_PROXY_PORT,""+PROXY_PORT); 
client.getProperties().put(ClientManager.WLS_PROXY_PASSWORD,authPassword); 
client.getProperties().put(ClientManager.WLS_PROXY_USERNAME,authUser); 

WebSocketContainer container = ContainerProvider.getWebSocketContainer(); 
container.connectToServer(new MyEndpoint() , URI.create("wss://client.pushover.net/push")); 
} catch (Exception e) { 
System.out.println(e.GetMessage()); 
} 

Es wird auf die connectToServer in Ordnung, aber dann wartet eine Weile und gibt dann eine Verbindung Exception Timed out.

Ich hatte Einstellung Fragen eine Httpclient-Verbindung, wie ich richtig zum Einrichten der Verbindung zum Proxy hatte, das funktionierte mit

HttpHost proxy = new HttpHost(PROXY_HOST, PROXY_PORT); 
DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy); 

AuthCache authCache = new BasicAuthCache(); 
CredentialsProvider credsProvider = new BasicCredentialsProvider(); 
credsProvider.setCredentials(new AuthScope(PROXY_HOST, PROXY_PORT, AuthScope.ANY_HOST, "ntlm"), new NTCredentials(authUser, authPassword, "",PROXY_DOMAIN)); 
HttpClientContext context = HttpClientContext.create(); 
context.setCredentialsProvider(credsProvider); 
context.setAuthCache(authCache); 

httpClient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).setRoutePlanner(routePlanner).build(); 

Wie kann ich die WebsocketContainer Arbeit in einer simiar Weise machen Sie? Oder gibt es einen besseren Ansatz dafür?

Antwort

0

Ich habe habe es mit dem Code unten

Arbeits
session = client.connectToServer(new MyEndpoint() , ClientEndpointConfig.Builder.create().build(),URI.create("wss://client.pushover.net/push")); 

ich den Client von Clientmanagern benutzen und nicht den WebSocketContainer, mit einem ClientEndpointConfig.