安卓网络编程,socket如何读取整形数据,

最近在玩一个WIFI模块,就是串口转WIFI,在安卓手机上写一个小软件,实现手机与电脑通信,WIFI模块通过USB转TTL与电脑连接,部分代码如下://连接服务器mSoc... 最近在玩一个WIFI模块, 就是串口转WIFI,
在安卓手机上写一个小软件, 实现手机与电脑通信,
WIFI模块通过USB转TTL与电脑连接,

部分代码如下:
//连接服务器
mSocketClient = new Socket(sIP, port); //portnum
//取得输入、输出流
mBufferedReaderClient = new BufferedReader(new nputStreamReader(mSocketClient.getInputStream()));

mDataOutputClient = new DataOutputStream(mSocketClient.getOutputStream());

问题一:
手机APP发送数据使用
mDataOutputClient.write(0XFF);
mDataOutputClient.flush();
发送一个字节 OK ,怎样一次发送多个字节? 不要for循环的那种。

问题二:
手机APP接收电脑发过来的数据是以字符格式接收的吗?我感觉是接收的是字符格式,
如何能改成接十六进制呢? 比如 电脑发送0XFF 0XFF,怎样写,才能手机接收的也是0XFF 0XFF呢,

问题三:

如上图,本打算查看变量的内容,但是为什么都没东西呢? 怎样显示成十六进制
展开
 我来答
四念住
2015-09-03 · TA获得超过270个赞
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:241万
展开全部
mDataOutputClient.writeInt(123); //发送int
还可以 float boolean char byte 等数据类型。
writeFloat(val);
writeBoolean(val)
writeChar(val)

DataInputStream dis = new DataInputStream(s.getInputStream());
int r=dis.readInt(); //接收int

socket 发送的数据只是二进制。。。但一次至少发送一个字节(char/byte),即传输8bits的数据

接收十六进制。==> byte r=dis.readByte();
发送十六进制。==> byte r= (byte) 0xFF; dos.writeByte(r);
追问
DataInputStream dis = new DataInputStream(s.getInputStream());
int r=dis.readInt(); //接收int

怎么获得接收数据的长度呢? 我接收的数据长度是可变的怎么处理?
DataInputStream dis = new DataInputStream(s.getInputStream());
int r=dis.readInt(); //接收int

怎么获得接收数据的长度呢? 我接收的数据长度是可变的怎么处理?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式