2012-09-10 57 views
1

我正在使用由Gottox.i編寫的Socket.IO-客戶端爲Java編寫的Android應用程序知道如何發送消息到服務器,但我想知道如何接收消息或獲取從服務器 這裏迴應這是我的代碼示例如何使用套接字接收來自服務器的消息io

SocketIO socket=new SocketIO(); 
     try { 
      socket = new SocketIO("http://41.69.21.123:1333/"); 
     } catch (MalformedURLException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
     socket.connect(new IOCallback() { 
      public void onMessage(JSONObject json, IOAcknowledge ack) { 
       try { 
        tv.setText(json.toString(2)); 
        System.out.println("Server said:" + json.toString(2)); 


       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 
      } 

      public void onMessage(String data, IOAcknowledge ack) { 
       System.out.println("Server said: " + data); 
      } 

      public void onError(SocketIOException socketIOException) { 
       System.out.println("an Error occured"); 
       socketIOException.printStackTrace(); 
      } 

      public void onDisconnect() { 
       System.out.println("Connection terminated."); 
      } 

      public void onConnect() { 
       System.out.println("Connection established"); 
      } 

      public void on(String event, IOAcknowledge ack, Object... args) { 
       System.out.println("Server triggered event '" + event + "'"); 
      } 
     }); 


     socket.send("Hello Server!"); 


    } 

回答

2

我這個方法

@Override 
     public void on(String event, IOAcknowledge ack, Object... args) { 
      System.out.println("Server triggered event '" + event + "'"); 
      //it comes with 3 parameters event, acknowledge and args 
      //if you want to get args to String try this 
       Object[] arguments = args; 
      System.out.println("Args"+ arguments[0].toString()); 
     } 

你可以在日誌檢查服務器的響應與socket.io標籤接收消息

+0

您是如何在public void on ()?我根本不會打電話。 –

0

IOCallback中的onMessage方法可以通過參數「String data」獲取消息服務器 如果此方法從未被消息服務器發送觸發,也許您的連接沒有活動

相關問題