帮忙解决一个关于网络方面的问题 现在有一个字符串数组S[3],想把S[0],S[1],S[2]这三个字符串通过一个DatagramPacket发送出去有怎么做呢?DatagramPacket只能发送byte[]类型的对象,怎样才能通过一个byte[]对象将字符串数组放入DatagramPacket中呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那样只能将一个字符串转为BYTE[]形的,我想要将若干个字符串连接在一起转为一个BYTE[],在接收方再能把这些字符串分解出来 1自己定义报文头,没个string发送前都加上一个头,描述这个string有多长,然后发送接收后反向解析,知道长度就可以把3个String分开了2:用ObjectOutputStream来封装一下,然后通过对象流来发送,这样直接就可以把s发送过去。接收者也要用对象流收,收的Object就是S 我的需求是这样的:服务器将与它连接的所有客户机的IP地址打成一个包发送出去,不知道楼上的方法行不 对于您说的自定义报文头能给个DEMO吗 用上面的方法可以加报文头简单点DataOutputStream dos;byte buf[]=str.getBytes();dos.writeInt(buf.length);dos.write(buf);dos.flush();接受DataInputStream dis;int len=dis.readInt();byte buf[]=new byte[len];dis.read(buf);System.out.println(new String(buf)); 把要的东西封装在一个对象中然后用DataOutputStream写对象不就行了。 jfreechart 曲线不显示的问题 equals问题。 新手请教javase程序的打包发布,急,跪请! myEclipe中的乱码问题? 关于 java 连接池的使用 菜鸟问题 thinking in java 写的好还是 java核心技术卷ii 写的好?我先看那本? 如果数据库操作方法用throws抛出SQLException, 怎样有效的关闭数据库资源? JWindow 是不是不支持 KeyListener jcreator 能调试吗?能在7分钟内给出答案吗? java程序要在MYSQL数据库的表中添加数据 问个小问题
自己定义报文头,没个string发送前都加上一个头,描述这个string有多长,然后发送
接收后反向解析,知道长度就可以把3个String分开了2:
用ObjectOutputStream来封装一下,然后通过对象流来发送,这样直接就可以把s发送过去。接收者也要用对象流收,收的Object就是S
简单点
DataOutputStream dos;
byte buf[]=str.getBytes();
dos.writeInt(buf.length);
dos.write(buf);
dos.flush();
接受
DataInputStream dis;
int len=dis.readInt();
byte buf[]=new byte[len];
dis.read(buf);
System.out.println(new String(buf));
然后用DataOutputStream写对象不就行了。