首页  »   J2SE

java中socket编程自定义tcp数据包结构等解决方法

网友分享于:2013-06-29  浏览:0次
java中socket编程自定义tcp数据包结构等
整个包的定义包括
head 2byte
length
crc16 校验
flag
content 内容
end

我对网络编程这块没接触过,希望大家指点下资料或者代码看看,有人讲解下java里发送和接受数据包的一些关键点,非常感谢
------解决思路----------------------
这个结构很好定义,和Java没啥关系,关键就是你要搞明白byte[]

就是C++,也是发送byte数组的。当然了,C++面对的是直接的内存,Java是byte[]里面的内容。

你这个很容易了,

header 2B
length  4B,或者2B(2B一般足够了)
crc16   2B
flag      4B,看你自己定义了,
content    N bytes。。。

不需要所谓的end,length = 2 + 4 + 2 + 4 + N

------解决思路----------------------
其实主要是字节流的控制,你那个结构是可以的。
我觉得还是要end,一串字节组过来,你可通过以head和end来截取一段正确的数据包,
楼上分配的大小也挺合理的,length的长度2B应该足够了。
另外我想问下这个length是表示什么的长度呢?content?还是其它?

相关解决方案

最新解决方案