私が書いたサーバーとTCPソケットを介して通信するAndroidアプリがあります。出力の読み取りと書き込みに現在使用している方法は、小さい文字列(最大60kB)で正常に機能しますが、文字列がそれよりはるかに長い場合は例外がスローされます。これが私がサーバーとクライアントに持っているものの関連部分です:
サーバ:
DataInputStream dis = null;
DataOutputStream dos = null;
try {
dis = new DataInputStream(server.getInputStream());
dos = new DataOutputStream(server.getOutputStream());
String input = "";
input = dis.readUTF();
handle_input info = new handle_input(input, id);
String xml = info.handle();
dos.writeUTF(xml);
server.close();
}
クライアント:
Socket socket = null;
DataOutputStream dos = null;
DataInputStream dis = null;
Boolean result;
try {
socket = new Socket(ip, port);
dos = new DataOutputStream(socket.getOutputStream());
dis = new DataInputStream(socket.getInputStream());
dos.writeUTF(the_text);
String in = "";
while (in.equals("")) {
in += dis.readUTF();
}
}
巨大な可能性のある文字列を処理するように変更するにはどうすればよいですか?私は周りを見回していて、明確な答えを見つけることができないようです。
ありがとう。