private ServiceSocket getConnectionSocket() throws URISyntaxException, Exception {
URI uri = getUri();
String connectionId = getThreadName() + getConnectionId();
ServiceSocket socket;
WebSocketClient webSocketClient;
if (isStreamingConnection()) {
if (connectionList.containsKey(connectionId)) {
socket = connectionList.get(connectionId);
socket.initialize();
return socket;
} else {
socket = new ServiceSocket(this);
connectionList.put(connectionId, socket);
}
} else {
socket = new ServiceSocket(this);
}
SslContextFactory sslContexFactory = new SslContextFactory();
sslContexFactory.setTrustAll(isIgnoreSslErrors());
webSocketClient = new WebSocketClient(sslContexFactory);
webSocketClient.start();
ClientUpgradeRequest request = new ClientUpgradeRequest();
webSocketClient.connect(socket, uri, request);
int connectionTimeout = Integer.parseInt(getConnectionTimeout());
socket.awaitOpen(connectionTimeout, TimeUnit.MILLISECONDS);
return socket;