簡體   English   中英

IOAcknowledge方法不適用於Android中的SocketIO?

[英]IOAcknowledge method is NOT working for SocketIO in Android?

我正在使用socketio.jar來建立客戶端服務器之間的連接。

即從我的Android設備(客戶端)到節點服務器。

因為我能夠成功連接,發送和接收消息到該服務器。

問題是,為什么我發射消息到服務器后,正從插座任何確認 有一個callBack接口IOAcknowledge作為參數,它永遠不會為我工作/調用。

  socket.emit( "sendMessage", new IOAcknowledge() { @Override public void ack(Object... arg0) { System.out.println("sendMessage IOAcknowledge" + arg0.toString()); } }, "Hi!! how are you"); 

有沒有人知道IOAcknowledge何時或如何工作的解決方案?

編輯:我正在使用的套接字庫的文檔鏈接。

官方Github

看來,你忘了在服務器端代碼上調用回調:

var io = require('socket.io')(80);
io.on('connection', function (socket) {
   socket.on('sendMessage', function (data, callback) {
       console.log('Message received:', data); 
       callback('Message successfully delivered to server!');
   });
});

有關更多信息,請查看主題或文檔

編輯:

問題還在於Ack實現應該作為emit函數的最后一個參數,所以你的Java代碼應該是這樣的:

socket.emit("sendMessage", "Hi!! how are you", new Ack() {
    @Override
    public void call(Object... args) {
        System.out.println("sendMessage IOAcknowledge" + args.toString());
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM