Android使用Socket与windows服务端之间怎么传输整数啊?

服务端:
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,以防止读取不完整的数据。


希望这可以帮助您解决问题。