安卓网络编程,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呢,
问题三:
如上图,本打算查看变量的内容,但是为什么都没东西呢? 怎样显示成十六进制 展开
在安卓手机上写一个小软件, 实现手机与电脑通信,
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呢,
问题三:
如上图,本打算查看变量的内容,但是为什么都没东西呢? 怎样显示成十六进制 展开
1个回答
展开全部
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);
还可以 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
怎么获得接收数据的长度呢? 我接收的数据长度是可变的怎么处理?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询