diff --git a/Websockets.DroidBridge/src/websockets/DroidBridge/BridgeController.java b/Websockets.DroidBridge/src/websockets/DroidBridge/BridgeController.java index 1a2f228..daa85ed 100644 --- a/Websockets.DroidBridge/src/websockets/DroidBridge/BridgeController.java +++ b/Websockets.DroidBridge/src/websockets/DroidBridge/BridgeController.java @@ -42,7 +42,15 @@ public BridgeController() { public void Open(final String wsuri, final String protocol) { Log("BridgeController:Open"); - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setTrustManagers(new TrustManager[] { + int port = 80; + // Get the port number via the 2nd ":". + String uristring = wsuri.substring(wsuri.indexOf(":")+1); + if (uristring.indexOf(":") > 0) + { + port = Integer.parseInt(uristring.substring(uristring.indexOf(":")+1)); + } + + AsyncHttpClient(port).getDefaultInstance().getSSLSocketMiddleware().setTrustManagers(new TrustManager[] { new X509TrustManager() { public void checkClientTrusted(X509Certificate[] chain, String authType) {} public void checkServerTrusted(X509Certificate[] chain, String authType) {} @@ -56,13 +64,12 @@ public void checkServerTrusted(X509Certificate[] chain, String authType) {} sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, null, null); - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setSSLContext(sslContext); + AsyncHttpClient(port).getDefaultInstance().getSSLSocketMiddleware().setSSLContext(sslContext); } catch (Exception e){ Log.d("SSLCONFIG", e.toString(), e); } - - AsyncHttpClient.getDefaultInstance().websocket(wsuri, protocol, new AsyncHttpClient + AsyncHttpClient(port).getDefaultInstance().websocket(wsuri, protocol, new AsyncHttpClient .WebSocketConnectCallback() { @Override diff --git a/Websockets.Universal/WebsocketConnection.cs b/Websockets.Universal/WebsocketConnection.cs index c123c59..6a1a919 100644 --- a/Websockets.Universal/WebsocketConnection.cs +++ b/Websockets.Universal/WebsocketConnection.cs @@ -47,7 +47,9 @@ public void Open(string url, string protocol = null) else if (url.StartsWith("http")) url = url.Replace("http://", "ws://"); - _websocket.ConnectAsync(new Uri(url)).Completed = (source, status) => + Uri uri = new Uri(url); + int port = uri.Port.ToString(); + _websocket.ConnectAsync(uri, port).Completed = (source, status) => { if (status == AsyncStatus.Completed) { @@ -132,4 +134,4 @@ void _websocket_Closed(IWebSocket sender, WebSocketClosedEventArgs args) OnClosed(); } } -} \ No newline at end of file +}