java怎么自定义一个数据包并把它发送出去?包格式如图(没有财富值, 各位大神指点一下!)
2个回答
展开全部
不知道你是发向哪里。
我们做Java通讯一般用socket通讯,将将对象转换成字节流,发送出去,接收端,根据约定好的协议解析数据流,把字节流转成数据。
我们做Java通讯一般用socket通讯,将将对象转换成字节流,发送出去,接收端,根据约定好的协议解析数据流,把字节流转成数据。
更多追问追答
追问
能有具体代码么,比如用socket发往端口9695,IP地址192.168.0.110
主要是包格式的发送,包被wireshark抓到,组成包元素 的顺序就是图中那样的
追答
将类转成byte数组
public class ClassToByte {
/**
* 将用户信息转换成字节数组
*
* @param piobjUserInfo 用户信息
* @return arrByte 用户信息字节数组
*/
public static byte[] castUserInfoToByte(UserInfo piobjUserInfo) {
// 用于返回用户信息字节数组
byte[] arrByte = new byte[512];
byte[] arrTemp;
// 用户ID
arrTemp = ByteUtil.stringToTcharBytes(piobjUserInfo.getUserId());
System.arraycopy(arrTemp, 0, arrByte, 0, arrTemp.length);
// 用户密码
arrTemp = ByteUtil.stringToTcharBytes(piobjUserInfo.getPassword());
System.arraycopy(arrTemp, 0, arrByte, 256, arrTemp.length);
return arrByte;
}
}
上面将 类转换成byte数组
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-30
展开全部
数据用byte[] 数组 一个个拼,发送不知道你要往哪发
追问
能有具体代码么,比如用socket发往端口9695,IP地址192.168.0.110
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询