Linux socket 发送int类型 安卓APP接收int

1、Linux如何发送int

必须使用htonl字节转换,不然发送过去是反的,实现不了功能

int fire1;
fire1 = htonl(fire1);        //返回网络字节序(大端字节序)



//发送,前面服务端的socket创建省略
write(cpu_fd,&fire1,4);    //必须4字节

2、安卓APP接收int

安卓app的int是4个字节,所以Linux发送的也必须是4字节,不然安卓这边接收不到,会阻塞

接收int用  DataInputStream类

//类型可以在前面定义完,while里面直接用,这里是为了看的出是什么


Socket client = new Socket("192.168.1.45", 9659);
InputStream in = client.getInputStream();

DataInputStream dis = new DataInputStream(in);
int number = dis.readInt();

Bundle b.putInt("data", number);
Message msg = new Message();
msg.setData(b);	//只能放Bundle
h.sendMessage(msg); //发送到Handler

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dz小伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值