数据包代码怎么写

1.如何用java写数据包

你好,java中的socket编程,要把数据最后转成byte[]来进行通信,对于你这种情况,我认为你至少有两种方法可行

1、在java中也整一个类对象,等效于你这里的struct,然后使用java中把Object转换成byte[]的方法

2、把struct里的数据按照一定的格式存成字符串,然后再把字符串转成byte[]

方法一可以参考下这个代码:

public static byte[] convertToByteArray(Object obj) throws IOException{

ObjectOutputStream os = null;

ByteArrayOutputStream byteStream = new ByteArrayOutputStream(5000);

os = new ObjectOutputStream(new BufferedOutputStream(byteStream));

os.flush();

os.writeObject(obj);

os.flush();

byte[] sendBuf = byteStream.toByteArray();

os.close();

return sendBuf;

}

2.串口通信中的数据包是什么意思,怎么解析(最好来点c代码举例下)

通俗的说就是符合某通讯协议的一组二进制串或字符串。

有些有包头及包尾,如modbus ascii,冒号表示包头,回车(0xd)表示包尾,

某些没有包头及包尾,如modbus rtu,如果时间超过3.5个字符,表示新的一桢数据包。

数据包还真不好用c语言举例。

这样说吧,比如一桢数据包可以这样定义:

第一字节:从站地址+第二字节:指令类型(读还是写,bool,short还是float)+第三第四字节:地址+第五第六字节:crc校验。

可以有一个结构体与之对应:

typedef struct _protocol

{

char cStationAddr;

char cInst;

short sAddr;

short sCRC;

}PRO;

发送协议需要将结构体打包成串,接受到串后需要解包。

就这个例子而言,解包就比较容易了,如接收缓冲区为

char cBuff[MAX_BUF_LEN];

PRO thePro;

那么,thePro.cStationAddr=cBuff[0];

同理,thePro.sAddr=(cBuff[2]

3.怎么写程序解析出以太网数据包中的IP地址

具体我没有操作过。

如果你是打算深入学习TCP/IP原理,建议你用winpcap/libpcap抓包后,根据数据包格式,自己去从中提取IP地址,抓包分析处理的例程很多。网上还有很多根据数据包格式伪造假IP地址的数据包的代码。找本TCP/IP编程相关的书最好不过。

字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有两种字节顺序,根据他们所处的位置我们分别称为主机节序和网络字节序。 通常我们认为网络字节序为标准顺序,封包的时候,将主机字节序转换为网络字节序,拆包的时候要将网络字节序转换为主机字节序。如果你是用C#之类的库做开发,应该有相应的转换函数。

调试结合抓包软件:Wireshark或Commview或sinffer pro

4.代码和校验

这是数据通信中的一个问题.也是对数据通信纠错的一种方式.这样说吧,假定对方的网卡给你发送类似10100101这样的一些封包,由于网线可能会受到磁场等干扰元素的干扰,你怎么确信你接收到的包是正确的?

显然这样要有一个校验与纠错的机制,比如对于校验,将前边所以有数字进行位求和,就是将每个bit进行相加,得到的最终结果以二进制补到包的最后,当然这里加出来的结果是4(100),也就是最终形成10100101100发送给你,如果由于信号的突变或时某种原因,将你接到的结果前8位(数据包)也按同样的方法计算校校验码,然后与8位后的结果进行比较,如果不相等,则一定是出错了!这就是校验,但我所说的是位比较的方式,显然只能校验错误,不能校验正确.也就是说相等也未必是正确的信息.但你知道了,我是以bit进行校验的,而你的文中是要求是字节进行校验的,其实没有什么区别.只不过现在网络中的小封包一般会被丢掉,而封包内不可能只有一个字节的.

而你文其实就是一个校验算法.有些较好的算法还可能使用有纠错码,不但能发现错误,还能改正错误.当然也是有限制的.比如只能改正一个bit或几个bit,如果超出,则要求重新发包.

数据包代码怎么写

转载请注明出处育才学习网 » 数据包代码怎么写

知识

默纳克系统怎么写协议

阅读(228)

本文主要为您介绍默纳克系统怎么写协议,内容包括默纳克修改服务器协议,默纳克3000+主板小键盘不能用了,协议板,协议格式怎么写。合作协议书范本甲方:_____________乙方:_____________甲、乙双方本着自愿、平等、公平、诚实、信用的原则,经友好

知识

货车服务怎么写

阅读(238)

本文主要为您介绍货车服务怎么写,内容包括拉货车名片怎么写好,作为一名货车驾驶员怎样才能做到优质服务,请问大家申请货车通行证的书面报告要怎么写呢。用心。真诚说得越是简单,做起来其实就越难。先生,我不是货车驾驶员,我作为一个社会工作者

知识

国王和皇后怎么写

阅读(217)

本文主要为您介绍国王和皇后怎么写,内容包括国王与皇后的英语单词怎么写,皇后和国王的韩文怎么写,国王和王后的英文怎么写。中 文 - 皇后/国王 韩 文 - 황후/국왕 罗马音 - Hwang Hu/Guk Wang

知识

服务业团队收获怎么写

阅读(191)

本文主要为您介绍服务业团队收获怎么写,内容包括团队合作收获,分为几个部分,服务行业工作感受怎么写,团队总结怎么写。一份总结中责任心的体现是很重要的。然后主要写一下主要的工作内容,如何努力工作,取得的成绩,最后提出一些合理化的建议或

知识

opp怎么在锁屏写文字

阅读(430)

本文主要为您介绍opp怎么在锁屏写文字,内容包括oppo手机怎么在屏幕上写字呢,oppo手机可以在锁屏上设置文字吗,oppor9怎么设置机主信息就是可以在锁屏上写文字。ColorOS2.0的系统需要到主题商店--锁屏里使用滑动解锁才可以的,滑动解锁--设置-

知识

英文地理地名怎么写

阅读(258)

本文主要为您介绍英文地理地名怎么写,内容包括几个地理地名的英文翻译`~,几个地理地名的英文翻译`~黑海奥得萨康思坦丁依滋密尔杰拜阿里绋里,怎么记英文里的地名。黑海Black Sea 中亚地区 亚洲 (Central Asia region Asia)奥得萨ODESSA 乌克

知识

澧字行书怎么写

阅读(243)

本文主要为您介绍澧字行书怎么写,内容包括巍字行书怎么写,苓字行书怎么写,涛字行书怎么写。巍字行书写法如下:

知识

玩具的故事作文怎么写

阅读(176)

本文主要为您介绍玩具的故事作文怎么写,内容包括玩具故事写一篇作文600字,我的玩具故事的作文500字,我和玩具的故事作文。夜深了,几乎所有的人都睡熟了,这时,玩具小狗和玩具熊猫互相哭诉起来。首先开口的是玩具小狗,“自从小主人把我从商店买回

知识

五月的鲜花开头怎么写

阅读(191)

本文主要为您介绍五月的鲜花开头怎么写,内容包括歌唱《五月的鲜花》的串联词怎么写,《五月的鲜花》观察日记怎么写急用急用明天要交的,急需五四朗诵稿开头是五月的鲜花开遍了山岗。你入学的新书包有人给你拿 你雨中的花折伞有人给你打 你爱

知识

虾不要了泰文怎么写

阅读(201)

本文主要为您介绍虾不要了泰文怎么写,内容包括求“冬阴功”的泰语怎么写,泰文常用语怎么写不要英文的,泰语“我爱你”的泰文写法和读法。1.如果我真的爱上你,请你不要伤害我 ถ้าฉันรักเธอแล้ว กรุณาอย่าทำให้

知识

五字用毛笔怎么写

阅读(243)

本文主要为您介绍五字用毛笔怎么写,内容包括"上下五千年"这几个字用毛笔怎么写,五字用草书行书咋写好看,毛笔书法五言律诗的落款怎么写。[五]字历代名家名帖的行书和草书写法。

知识

正在写的英语怎么说

阅读(537)

本文主要为您介绍正在写的英语怎么说,内容包括我正在写作业用英语怎么说,“写”的英语怎么说呢,写英语作文时,“第一第二第三”怎么说。The Old Cat An old woman had a cat. The cat was very old; she could

知识

作文多彩的世界怎么写

阅读(199)

本文主要为您介绍作文多彩的世界怎么写,内容包括多彩的世界作文怎么写,多彩的世界作文怎么写,我的多彩世界的作文怎么写。世界上,不仅有光明与黑暗,还存在着幽默、亲情、友情等等。所以这个世界除了白与黑之外,还多了绿、红、粉等等的这些生命

知识

端午节日语怎么写

阅读(200)

本文主要为您介绍端午节日语怎么写,内容包括端午节快乐日语怎么说,求:关于端午节的日语文章,求:关于端午节的日语文章。端午节快乐今年の端午节は5月31日。旧暦の5月5日です。端午节と言えばドラゴンボートと粽。その由来をお话ししましょう

知识

怎么写代码知乎

阅读(229)

本文主要为您介绍怎么写代码知乎,内容包括在网吧写代码是怎样一种体验知乎,为什么程序员把程序代码写的那么复杂知乎,里面代码要怎么写。那时还在大学暑假期间,学校实验室有项目在赶工,我因为要补牙齿不得不回老家几天。有时候突然一个电话打

知识

代码写不出来怎么办

阅读(238)

本文主要为您介绍代码写不出来怎么办,内容包括看得懂编程代码写不来怎么办,当一个程序员写不出代码了该怎么办,当一个程序员写不出代码了,该怎么办。你的逻辑思路还没有成型一般学程序应该分2部分章握语意、语法结构2、形成逻辑思路程序光

知识

饥荒代码怎么用

阅读(189)

本文主要为您介绍饥荒代码怎么用,内容包括饥荒代码怎么用,饥荒控制台怎么使用饥荒控制台代码怎么输入,饥荒控制台代码怎么用饥荒作弊及指令代码大全。原发布者:心声如云饥荒控制台使用方法:饥荒的控制台调出很简单,只要在游戏中按下“~”键(1左

知识

完美国际代码怎么用

阅读(237)

本文主要为您介绍完美国际代码怎么用,内容包括完美国际代码怎么用,完美国际怎么使用代码,完美世界国际版代码怎么用。可以哦,两天内建号,直接在角色画面可以改,两天后要用易容卷,你可以去租龙西张倾国处接任务,做不了几步就让你挖满红头发,挖完了

知识

qq空间代码怎么用

阅读(217)

本文主要为您介绍qq空间代码怎么用,内容包括qq空间代码怎么使用,qq空间免费代码怎么用啊,QQ空间代码怎么用。首先要知道的是:如何使用QQ空间代码? ①、把代码复制---“javascript:window.top.space_addItem(1

知识

html表格的长宽代码怎么写

阅读(222)

本文主要为您介绍html表格的长宽代码怎么写,内容包括在html中怎么设置表格的宽度,html表格代码怎么写的,html如何控制表格的宽度呢。原发布者:微力图文篇一:html表格代码大全 1.html常用标签 ①.跑马灯 ②.字体效果 ③.区断标记 ④.链接 ⑤.

知识

淘宝店铺怎么自己写代码

阅读(271)

本文主要为您介绍淘宝店铺怎么自己写代码,内容包括淘宝店怎么自己写代码装修,自己写好的淘宝店代码怎么弄上去,淘宝店招可以用什么代码。进入店铺后台,选择装修,然后进入装修页面

知识

网页制作的代码怎么写

阅读(257)

本文主要为您介绍网页制作的代码怎么写,内容包括网页设计的代码怎么写,网页制作怎么编写代码啊,用代码直接编写网页的步骤是什么。用dreamweaver,建议你通过自带的一些功能一点一点地新增一些常用元素,然后新增一点就转过去看看源代码,看它到

[/e:loop]