怎么用socket发送byte数组
我有一个char字符,2个int值,怎么把他们存到一个byte数组里面呢?我想用socket把这几个数据通过byte数组一次发送出去,不知道怎么转换。charc='M';...
我有一个char字符,2个int值,怎么把他们存到一个byte数组里面呢?我想用socket把这几个数据通过byte数组一次发送出去,不知道怎么转换。char c = 'M';int x = 8;int y = 9;byte[] data = new byte[];怎么把c x y存到data中,让接收端能正确的再取出值?
展开
2个回答
2015-06-27 · 知道合伙人互联网行家
关注
展开全部
客户端:
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);//写入byte数组中。再依次读取出来即可。
-----------------------
String string=new String(byte,off,length);
将byte数组中从第off个开始的length个长度的字节转化为string型。
new String(byte)是将整个byte数组转化为string型。
上面的DataOutputStream传输的流以字节的形式存放到了byte数组,再利用new String方法就可以将其转化为string型了。利用PrintWriter相对于繁琐,封装了很多方法在byte和string之间转化不便。
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);//写入byte数组中。再依次读取出来即可。
-----------------------
String string=new String(byte,off,length);
将byte数组中从第off个开始的length个长度的字节转化为string型。
new String(byte)是将整个byte数组转化为string型。
上面的DataOutputStream传输的流以字节的形式存放到了byte数组,再利用new String方法就可以将其转化为string型了。利用PrintWriter相对于繁琐,封装了很多方法在byte和string之间转化不便。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-24
展开全部
int类型转bytepublic static byte[] int2byte(int res) {byte[] targets = new byte[4];targets[0] = (byte) (res & 0xff);// 最低位 targets[1] = (byte) ((res >> 8) & 0xff);// 次低位 targets[2] = (byte) ((res >> 16) & 0xff);// 次高位 targets[3] = (byte) (res >>> 24);// 最高位,无符号右移。 return targets; } char转byte应该可以强转吧然后用System.arraycopy(...)方法把int转换的byte和强转的byte写进你的data里面然后通过socket的write()方法写过去服务器就收到了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询