-5

ゲームを作成していて、チャット メッセージをサーバーに送信しようとすると、奇妙なメモリ リークが発生します。送信文字列: !chat\Test 変換:

!chat¥test
!chat¥!chat¥test
!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
Ect, ect.


Sending message:

Utils.sendChat(message.getText());

public static void sendChat(String s) {
    System.out.println(s);
    sendChat("!chat"+Wrapper.commandSplit+s);
}

public static void sendTextLine(String s){
    s = s.replace(" ", "[SPACE]");
    System.out.println(s);
    Wrapper.pw.write(s);
     Wrapper.pw.flush();
}

なぜこれが起こっているのかわかりません。誰か助けてもらえますか?「\」を使用して文字列内の変数を分割していますが、これまで問題が発生したことはありません。

ありがとう。

4

1 に答える 1

10
public static void sendChat(String s) {
    System.out.println(s);
    sendChat("!chat"+Wrapper.commandSplit+s);
}

sendChatこれは、再度呼び出すたびに、ますます長い文字列を作成する無限ループです。

あなたはおそらくsendTextLineそこの 2 番目の回線に電話するつもりでしたか?

于 2012-11-05T21:46:14.603 に答える