0
什麼是我的目標:無法從客戶端的Android連接Socket.io
我想連接到與socket.io配置上與Android的一個連接參數命名空間的插座。例如,我想通過參數「token」和值「1234567890abc」連接到https://www.socket.com/messages/。
我所知道的,到目前爲止:
插槽中完全工作在Web客戶端和IOS客戶端上。 IOS客戶端使用以下代碼:
self.socketClient = SocketIOClient(socketURL: NSURL(string: APIManager.sharedManager.baseURL)!, options: [.Log(true), .Path(chat), .ConnectParams(["token":token])])
self.turnOnAllInitialListeners()
self.socket.connect()
沒什麼特別的,你可以看到。這是價值觀:
[0] : log
- Log : false
▿ [1] : path
- Path : "/server-x/"
▿ [2] : secure
- Secure : true
▿ [3] : connectParams
▿ ConnectParams : 1 elements
▿ [0] : 2 elements
- .0 : "token"
- .1 : bXByAFX7vYMERLyOBIgbP50ufPMOPKv
這種連接succesfull,我一直在試圖用這種方法來實現的Android一樣的:
String url = "https://demo.test.test.nl";
IO.Options opts = new IO.Options();
opts.query = "token=bXByAFX7vYMERLyOBIgbP50ufPMOPKv";
// Tried on and off
// opts.path = "/server-x";
try {
opts.sslContext = SSLContext.getDefault();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
try {
Manager manager = new Manager(new URI(url), opts);
// Tried on and off
mSocket = manager.socket("/server-x");
} catch (URISyntaxException e) {
Log.e(TAG, "Could not connect to socket server");
}
setConnectionListeners();
setChatListeners();
// Connected always returns into false.
mSocket.connect();
沒有什麼不對的命名空間,路徑或令牌。也嘗試過沒有SSL部分和有和沒有單獨的經理。代碼也不會以其中一種捕獲結束。有什麼可能出錯?所有的幫助表示讚賞。謝謝閱讀。