服务端:
try {
OutputStream os = s.getOutputStream();
os.write(new Random().nextInt(441) +20);
os.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
安卓客户端:
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream);
int ready=0;
while((ready=br.read())!=-1)
……
这样得到的数字好像会出错啊?要不就是我别的地方有错
该回答引用ChatGPT
您可以尝试在服务端和客户端之间传输整数时使用 DataOutputStream 和 DataInputStream 类。这些类提供了一种方便的方式来传输基本数据类型和字符串。
以下是在服务端和客户端之间传输整数的示例代码:
服务端:
try {
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
int number = new Random().nextInt(441) + 20;
dos.writeInt(number);
dos.flush();
} catch (IOException e) {
e.printStackTrace();
}
客户端:
try {
DataInputStream dis = new DataInputStream(s.getInputStream());
int number = dis.readInt();
System.out.println("Received number: " + number);
} catch (IOException e) {
e.printStackTrace();
}
在服务端中,使用 DataOutputStream 写入整数,并在客户端中使用 DataInputStream 读取整数。
请注意,要确保客户端和服务端使用相同的顺序和类型来写入和读取数据。此外,还应该正确处理异常,例如在客户端中处理 EOFException,以防止读取不完整的数据。
希望这可以帮助您解决问题。