Android socket 获得16进制数据 5
服务器那边是定时发送固定包头包尾固定长度的16进制数据包。然后在Android端需要接收数据实时更新数据。Android端的socket该怎么写。用BufferedRea...
服务器那边是定时发送固定包头包尾固定长度的16进制数据包。然后在Android端需要接收数据实时更新数据。
Android端的socket该怎么写。
用BufferedReader.readLine()网上说是需要socket.close()以后才能拿到数据。我试了一下确实是这样。
希望的是连接一次以后实现长连接。然后不断获取数据,需要怎么写。
是基于TCP/IP的。 展开
Android端的socket该怎么写。
用BufferedReader.readLine()网上说是需要socket.close()以后才能拿到数据。我试了一下确实是这样。
希望的是连接一次以后实现长连接。然后不断获取数据,需要怎么写。
是基于TCP/IP的。 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
展开全部
mDataOutputClient = new DataOutputStream(mSocketClient.getOutputStream());
//发送
mDataOutputClient.write(0XFF);
mDataOutputClient.flush();
//接收
DataInputStream dis = new DataInputStream(mSocketClient.getInputStream());
int r=dis.readInt(); //接收int
接收十六进制。==> byte r=dis.readByte();
发送十六进制。==> byte r= (byte) 0xFF; dos.writeByte(r);
BufferedReader不推荐使用,因为不适合。
//发送
mDataOutputClient.write(0XFF);
mDataOutputClient.flush();
//接收
DataInputStream dis = new DataInputStream(mSocketClient.getInputStream());
int r=dis.readInt(); //接收int
接收十六进制。==> byte r=dis.readByte();
发送十六进制。==> byte r= (byte) 0xFF; dos.writeByte(r);
BufferedReader不推荐使用,因为不适合。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询