我有一个通过 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();
}
}
如何修改它以处理潜在的巨大字符串?我一直在环顾四周,似乎无法找到明确的答案。
谢谢。