客户端和服务器端都用DataInputStream(Is)和DataOutputStream(Os)方式定义输入输出流,不妨分别定义为DIS和DOS,二进制流的发送时可用DOS.write()方法,接收用DIS.read()方法。比如
DOS.write(msgbuf,0,msgLen);//msgbuf为byte[]型待发二进制数组信息,0为起始发送点即msgbuf[0],msgLen为发送长度,即这句为将msgbuf[0]到msgbuf[msgLen]之间的二进制数据发送出去。
同样
int lengTh = DIS.read(dataBuf);//dataBuf为自定义足够长度的byte[]类型,用于存储接收二进制信息,如果有信息来到,则存在dataBuf数组内,整个信息长度为lengTh,如果没有信息,则lengTh返回-1;整个接收处理完毕后lengTh也会置-1。
DOS.write(msgbuf,0,msgLen);//msgbuf为byte[]型待发二进制数组信息,0为起始发送点即msgbuf[0],msgLen为发送长度,即这句为将msgbuf[0]到msgbuf[msgLen]之间的二进制数据发送出去。
同样
int lengTh = DIS.read(dataBuf);//dataBuf为自定义足够长度的byte[]类型,用于存储接收二进制信息,如果有信息来到,则存在dataBuf数组内,整个信息长度为lengTh,如果没有信息,则lengTh返回-1;整个接收处理完毕后lengTh也会置-1。
InputStream Is;
OutputStream Os;
Socket sck = new Socket(sckIp,Port);
Is=sck.getInputStream();
Os=sck.getOutputStream();
Socket sck;
DataInputStream DIS;
DataOutputStream DOS;
sck = new Socket(sckIp,Port);//客户端
Is=sck.getInputStream();
Os=sck.getOutputStream();
DIS=new DataInputStream(Is);
DOS=new DataOutputStream(Os);
即你没有将信息接收并用一个数组变量来存储
从什么地方读出二进制数据并显示这个二进制数据流?