Sha*_*hiM 8 java sockets android callback socket.io
我无法找到关于如何正确处理Ack和事件的任何文档Socket.io(v1.4.3).所有现有文章/问题都涉及旧版本,尤其是IOCallback课程.但是最新版本中没有该类.
我设法找到的所有内容是这样的:
要获取Socket事件的回调:
mSocket.connect();
mSocket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
//What to do here
}
})
Run Code Online (Sandbox Code Playgroud)
(Object... args).一个小代码示例会很棒.要获得单个emit事件的回调:
mSocket.emit("payload", jsObj.toString(), new Ack() {
@Override
public void call(Object... args) {
//TODO process ACK
}
});
Run Code Online (Sandbox Code Playgroud)
(Object... args)?出色地。我终于自己弄清楚了。
如何处理(Object... args)EVENT_CONNECT侦听器的方法call?
我还没弄清楚。但我正在寻找。
我可以实现哪些最少的事件集来了解连接情况
这三种方法就足够了:
connect:连接成功时触发。
connect_error:在连接错误时触发。
connect_timeout:连接超时时触发。
来源:Socket.io 文档
我应该如何处理(Object... args)发出确认?
所以我仔细研究了文档并发现了这个:
服务器(app.js)
Run Code Online (Sandbox Code Playgroud)var io = require('socket.io')(80); io.on('connection', function (socket) { socket.on('ferret', function (name, fn) { fn('woot'); }); });客户
Run Code Online (Sandbox Code Playgroud)socket.on('connect', function () { // TIP: you can avoid listening on `connect` and listen on events directly too! socket.emit('ferret', 'tobi', function (data) { console.log(data); // data will be 'woot' }); });
因此 args 将是服务器作为参数发送到回调中的任何内容。Java这就是为上述服务器代码编写客户端代码的方式:
public void call(Object... args) {
String response = (String)args[0]; //this will be woot
}
Run Code Online (Sandbox Code Playgroud)
参数也可以是 JSON,或 socket.io 中任何支持的数据类型:
我们发送一个字符串,但您也可以使用 org.json 包处理 JSON 数据,甚至还支持二进制数据!
| 归档时间: |
|
| 查看次数: |
3211 次 |
| 最近记录: |