小书房 2013-10-22 02:26 采纳率: 0%
浏览 868

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)
……

这样得到的数字好像会出错啊?要不就是我别的地方有错

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-03-19 19:08
    关注

    该回答引用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,以防止读取不完整的数据。


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

    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办