永发信息网

java接受C++通过socket传送过来的数据包,接收之后是个数组,怎么判断里面的内容?

答案:3  悬赏:10  手机版
解决时间 2021-03-25 15:15
java接受C++通过socket传送过来的数据包,接收之后是个数组,怎么判断里面的内容?
最佳答案
1)这个具体要看CRC的算法,你自己去找算法了解,可以容纳1BIT的错误翻转纠正。 这个事系统的协议栈可以直接就处理了,这些 校验和 因为和逻辑没有关系,所以封装在协议栈了,不过貌似有一些方法也可以绕过协议栈(这个太复杂了不说)。

2)传过来的不是数组,网络上到计算机的端口都是帧格式的网络数据,而且都是BIT流信息,你可以一次读取一段区域的BIT流,然后按照你的需求,一点一点的读取解开(这就是二层和三层的协议的作用了。)。追问传过来的是数组,我问过,写C++的那个同事了,他说直接用数组比较,我不会追答你们写C++的同事怎么这么给你说,他到底明不明白,SOCKET走的网络通信,网络中不是自己算计内存,只能序列化成为BIT流进行转发,就是一串01,你只能按照标准或者协议,截取一段长度的01,通过自己写或者其他什么方式反序列化成为一个内存中的对象。
然后比较!!!!
全部回答
socket传送的数据应该和语言无关吧
java从socket的instream读入数据就行了追问数据能接收到,就是怎么处理那些数据,传过来的数组,转换成字符串乱码,写C++的那个同事不用转化成字符串,直接用数组比较,我不知道怎么用数组比较,怎么截取数组中的内容?追答java的instream是byte类型吧,那你就8位8位比较呗
C++数据格式不清楚,如果是到java这边了,肯定是字符串,剩下的就是用java代码将字符串里的特定字段取出来
循环数据,toString(),然后找出"abc" ,indexof就好.追问数据能接收到,就是怎么处理那些数据,传过来的数组,转换成字符串乱码,写C++的那个同事不用转化成字符串,直接用数组比较,我不知道怎么用数组比较,怎么截取数组中的内容?追答乱码是编码格式不正确吧.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
忘记两个人的誓言怎么办
单选题WhatshouldI________myfather_______
泰版咖啡王子一号店为什么只有四集
张北县城有什么好吃的,求推荐
○+△=24,△+△+△+o十o=52,o=?△=?
k8432次列车座位表第3车厢
鹌鹑冬天掉毛是什么原因? 它自己咬掉的?
陈佩斯系列短剧 1-26集 还有搞笑短剧1-12集
关于ps4的HDMi连接电脑显示器问题
如东地区属于南通市吗
螃蟹对水能不能起到净化
兰花的兰是什么
我帮奶奶洗菜日记四年级二百字
和外教用英语交谈很有趣
4周岁宝宝吃11个蚕蛹多不多,蚕蛹有什么营
推荐资讯
徐锻80吨冲床自身重量
求柯南精品图片 (要求有小兰和柯南在一起的
当你拔一个电话通),最终通话结速,怎么回事
求解,大家说秋玉落的谎言被拆穿了吗
米色粗跟英伦范的鞋子配什么衣服好看???
单选题Theweatherhereinspringismuchsimil
He says he's the man who bought these
刑事案件法t庭择期宣判,律师必须到庭吗
兰亭序悬肘写还是枕腕写好
夫贤士之处世也,譬若锥之处囊中,其末立见。
鲁花酱油不成功的原因
算命中口角之灾是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?