1

RCONポートでMinecraftサーバーと通信しようとしています。

ただし、ソケットとストリームの使用方法についてはほとんどわかりません。じっと見てみると、それらすべてに共通点があることがわかりました。ソケット、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();
        }
    }
};
4

1 に答える 1

2

代わりに試してください:

guiMain.setTxt_Edit(encodeCArray(new String(data)))
于 2012-05-18T05:55:19.747 に答える