无法从客户端Android连接Socket.io

时间:2016-08-15 12:08:39

标签: android sockets socket.io connection parameter-passing

我的目标是什么:

我想连接到一个名为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

这种联系是成功的,我一直试图用这种方法在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部分和有和没有单独的经理。此外,代码不会在其中一个捕获中结束。怎么可能出错?所有帮助表示赞赏。谢谢你的阅读。

0 个答案:

没有答案