小书房 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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)