2012-05-18 2 views
1

Я пытаюсь установить связь с моим сервером Minecraft на порте RCON.Android :: TCP-пакеты

У меня есть небольшая подсказка, как использовать розетки & поток материала. Сотрясаясь, я обнаружил, что все они имеют что-то общее. Socket, InputStream & OutputStream.

Я попробовал это в своем коде, но возврат ничего полезного не говорит. Я знаю, что код действительно отправляет пакет, потому что я получаю подтверждение с консоли сервера [Rcon-соединение из: /1.2.3.4].

Его просто код, который я пытался собрать на основе межотраслевых функций, возвращает что-то вроде [B @ 4053f750 с выхода. Не знаю, что это такое, и я не могу найти его в Google.

Может кто-нибудь дать хороший сайт для объяснения этого?

Спасибо, кучка.

Socket s; 
InputStream i; 
DataInputStream iD; 
OutputStream o; 
DataOutputStream oD; 

OnClickListener listenA=new OnClickListener(){ 
    public void onClick(View v){ 
     try{ 
      s=new Socket("MyDomain.tld", 12345); 
      i=s.getInputStream(); 
      iD=new DataInputStream(i); 
      o=s.getOutputStream(); 
      oD=new DataOutputStream(o); 

      byte[] data=new byte[1024], packet={ 
       (byte)0xFE, (byte)0xFD, // Magic bytes 
       (byte)0x09,     // Challenge type 
       (byte)0xde, (byte)0xad, (byte)0xbe, (byte)0xef // Your ID token 
      }; 


      o.write(packet); 
      i.read(data, 0, 1024); 

      guiMain.setTxt_Edit(encodeCArray(data.toString())); // returns a hex string to an edit box. I can then compare the packet to what I expect. 

      s.close(); 
     }catch(UnknownHostException e){ 
      e.printStackTrace(); 
     }catch(IOException e){ 
      e.printStackTrace(); 
     } 
    } 
}; 
+0

'[B @ 4053f750' является бесполезным' ToString() 'из массива байтов. Используйте 'java.util.Arrays.toString (data)', чтобы получить более приятный результат. – Jerome

+0

Вам нужно проверить возврат «i.read (data, 0, 1024);» поскольку при чтении байтов он может возвращать различную сумму. –

ответ

2

Попробуйте вместо этого:

guiMain.setTxt_Edit(encodeCArray(new String(data))) 
Смежные вопросы