使用 socket.io-client.java 库连接到 socket.io 命名空间

Posted

技术标签:

【中文标题】使用 socket.io-client.java 库连接到 socket.io 命名空间【英文标题】:Connecting to a socket.io namespace using the socket.io-client.java library 【发布时间】:2015-10-08 20:55:20 【问题描述】:

我可以使用这个库 https://github.com/nkzawa/socket.io-client.java 连接到 socket.io Web 服务没有问题。不过,我无法完全弄清楚如何连接到特定的命名空间。我查看了测试代码并认为我可能需要创建一个 Manager 类。

任何帮助将不胜感激。非常感谢。

【问题讨论】:

请添加重现您的问题的代码。 【参考方案1】:
Manager manager = new Manager(new URI("http://socket.com"));
Socket socket = manager.socket("/my-namespace");
socket.connect();

【讨论】:

这帮助 mi 解决了 android 上的 Invalid namespace 错误。我必须将“/”设置为命名空间 如何在一个连接上添加多个名称空间以及在尝试侦听或发出@patrick_corrigan 时如何在它们之间进行选择 @Armstring 对不起,我不知道。我已经好几年没用过这个库了。【参考方案2】:

以上答案对我不起作用。

实际上这段代码有效,请使用最新版本的socket.io客户端版本: https://github.com/socketio/socket.io-client-java

在你的 build.graddle 中添加这个:

compile ('io.socket:socket.io-client:1.0.0') 
    // excluding org.json which is provided by Android
    exclude group: 'org.json', module: 'json'

然后你可以使用这个 sn-p 连接到你的命名空间:

Socket socket;
try 
        socket = IO.socket(socket_host + "/your_namespace");
     catch (URISyntaxException e) 
        Log.d("ERROR :", e.toString());
    
socket.connect();

查看这个 github 问题,那里有更多解释: https://github.com/nkzawa/socket.io-android-chat/issues/8

【讨论】:

以上是关于使用 socket.io-client.java 库连接到 socket.io 命名空间的主要内容,如果未能解决你的问题,请参考以下文章

测试使用

第一篇 用于测试使用

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”