JAVA TCP 发送数据

wu209000 2010-01-12 10:43:51
发送的格式如下:

1 版本号 字符串 3 ASCII码,值为:V01
2 命令编号 整型 1 16进制数,值为:0x03
3 类型编号 字符串 16 ASCII码,前2位为分中心编号,后14位为终端类型编号,如果终端类型编号不足14位,则在前面补零,直到满14位为止
4 类型名称内容长度 整型 1 16进制整数
5 类型名称 字符串 20 小于或等于20字节,Unicode编码
6 制造商内容长度 整型 1 16进制整数
7 制造商 字符串 100 小于或等于100字节,Unicode编码
8 结束符 字符串 1 ASCII码,值为:#



采用的是TCP接连方式,怎么按照上面的格式把数据传到服务器啊?
...全文
248 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaojianjun21c 2010-01-12
  • 打赏
  • 举报
回复
楼主没有说明是传送到的服务器是什么样的服务器,是网站服务器,还是自己写的专有服务器,处理方式是不一样的。
anly_hz 2010-01-12
  • 打赏
  • 举报
回复
"V01"+int(0x03)+"00000000001234"+.....+"#"

这样就可以了
anly_hz 2010-01-12
  • 打赏
  • 举报
回复
V01+int(0x03)+00000000001234

这样应该能明白了吧
maer56 2010-01-12
  • 打赏
  • 举报
回复
二进制传呗。自己和对方定好协议,怎么解析和发送数据
wu209000 2010-01-12
  • 打赏
  • 举报
回复
比如命令编号为 0X03 ,怎么发送过去
wu209000 2010-01-12
  • 打赏
  • 举报
回复
发数据不是重点

问题是怎么去整理这些数据
maer56 2010-01-12
  • 打赏
  • 举报
回复
socket.getOutputStream().write里面写
maer56 2010-01-12
  • 打赏
  • 举报
回复
数据怎么组织是自己定的,
传数据可以看如下:

Socket socket = null;


socket = new Socket();
socket.bind(new InetSocketAddress(0));
// 超时时间设为5秒
socket.setSoTimeout(5000);
socket.connect(new InetSocketAddress(remoteIP, remotePort),5000);
// 发送前设置序列号
req.setSequenceId(++sequenceId);

socket.getOutputStream().write(req.encode());

wu209000 2010-01-12
  • 打赏
  • 举报
回复
还有一个

GPS时间 字符串 7 压缩BCD码:高位在前,低位在后;如2008年9月10日 12点45分36秒,表示为:0x20 0x08 0x09 0x10 0x12 0x45 0x36
coveking 2010-01-12
  • 打赏
  • 举报
回复
用十六进制编码之后再传。服务器接收后再处理
maer56 2010-01-12
  • 打赏
  • 举报
回复
自定义协议

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧