socket中传输byte数组数据

客户端:

private Socket socket;
private DataOutputStream out;

out = new DataOutputStream(socket.getOutputStream()); 
byte[] bytes = { 0x03,0x02,0x01 };
out.write(bytes);
服务器端:
private Socket clientSocket;
private DataInputStream in;

in = new DataInputStream(clientSocket.getInputStream());
// 定义一个byte数组用来存放读取到的数据,byte数组的长度要足够大。
byte[] bytes = new byte[100];
in.read(bytes);// 把输入流的数据写入bytes数组中。再依次读取出来即可

String string = new String(bytes,index,length);
Integer integer = new Integer(new String(bytes,index,length));
// 将byte数组中从第index个开始的length个长度的字节转化为string型。
// new String(byte)是将整个byte数组转化为string型。

注:socketClient的输出流 和 socketServer的输入流必须为同一种流(如:DataInputSteam和DataOutputSteam、InputSteam和OutputSteam)
上面的DataOutputStream传输的流以字节的形式存放到了byte数组,再利用new String方法就可以将其转化为string型了。利用PrintWriter相对于繁琐,封装了很多方法在byte和string之间转化不便。
参考:http://blog.sina.com.cn/s/blog_a4bfe8c90101dpst.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值